KiCad PCB EDA Suite
Loading...
Searching...
No Matches
POLYGON_MERGE_ROUTINE Class Reference

#include <item_modification_routine.h>

Inheritance diagram for POLYGON_MERGE_ROUTINE:
POLYGON_BOOLEAN_ROUTINE ITEM_MODIFICATION_ROUTINE

Public Member Functions

 POLYGON_MERGE_ROUTINE (BOARD_ITEM *aBoard, CHANGE_HANDLER &aHandler)
 
wxString GetCommitDescription () const override
 
std::optional< wxString > GetStatusMessage () const override
 Get a status message to show when the routine is complete.
 
void ProcessShape (PCB_SHAPE &aPcbShape)
 
unsigned GetSuccesses () const
 
unsigned GetFailures () const
 

Protected Member Functions

PCB_SHAPEGetWorkingPolygon () const
 
BOARD_ITEMGetBoard () const
 The BOARD used when creating new shapes.
 
void AddSuccess ()
 Mark that one of the actions succeeded.
 
void AddFailure ()
 Mark that one of the actions failed.
 
bool ModifyLineOrDeleteIfZeroLength (PCB_SHAPE &aItem, const SEG &aSeg)
 Helper function useful for multiple tools: modify a line or delete it if it has zero length.
 
CHANGE_HANDLERGetHandler ()
 Access the handler for making changes to the board.
 

Private Member Functions

bool ProcessSubsequentPolygon (const SHAPE_POLY_SET &aPolygon) override
 

Private Attributes

PCB_SHAPEm_workingPolygon
 
BOARD_ITEMm_board
 
CHANGE_HANDLERm_handler
 
unsigned m_numSuccesses
 
unsigned m_numFailures
 

Detailed Description

Definition at line 327 of file item_modification_routine.h.

Constructor & Destructor Documentation

◆ POLYGON_MERGE_ROUTINE()

POLYGON_MERGE_ROUTINE::POLYGON_MERGE_ROUTINE ( BOARD_ITEM aBoard,
CHANGE_HANDLER aHandler 
)
inline

Definition at line 330 of file item_modification_routine.h.

Member Function Documentation

◆ AddFailure()

void ITEM_MODIFICATION_ROUTINE::AddFailure ( )
inlineprotectedinherited

◆ AddSuccess()

void ITEM_MODIFICATION_ROUTINE::AddSuccess ( )
inlineprotectedinherited

◆ GetBoard()

BOARD_ITEM * ITEM_MODIFICATION_ROUTINE::GetBoard ( ) const
inlineprotectedinherited

◆ GetCommitDescription()

wxString POLYGON_MERGE_ROUTINE::GetCommitDescription ( ) const
overridevirtual

Implements ITEM_MODIFICATION_ROUTINE.

Definition at line 385 of file item_modification_routine.cpp.

References _.

◆ GetFailures()

◆ GetHandler()

◆ GetStatusMessage()

std::optional< wxString > POLYGON_MERGE_ROUTINE::GetStatusMessage ( ) const
overridevirtual

Get a status message to show when the routine is complete.

Usually this will be an error or nothing.

Implements ITEM_MODIFICATION_ROUTINE.

Definition at line 391 of file item_modification_routine.cpp.

References _, ITEM_MODIFICATION_ROUTINE::GetFailures(), and ITEM_MODIFICATION_ROUTINE::GetSuccesses().

◆ GetSuccesses()

◆ GetWorkingPolygon()

PCB_SHAPE * POLYGON_BOOLEAN_ROUTINE::GetWorkingPolygon ( ) const
inlineprotectedinherited

◆ ModifyLineOrDeleteIfZeroLength()

bool ITEM_MODIFICATION_ROUTINE::ModifyLineOrDeleteIfZeroLength ( PCB_SHAPE aItem,
const SEG aSeg 
)
protectedinherited

Helper function useful for multiple tools: modify a line or delete it if it has zero length.

Parameters
aItemthe line to modify
aSegthe new line geometry

Definition at line 41 of file item_modification_routine.cpp.

References SEG::A, SEG::B, ITEM_MODIFICATION_ROUTINE::CHANGE_HANDLER::DeleteItem(), ITEM_MODIFICATION_ROUTINE::GetHandler(), EDA_SHAPE::GetShape(), SEG::Length(), ITEM_MODIFICATION_ROUTINE::CHANGE_HANDLER::MarkItemModified(), EDA_SHAPE::SetEnd(), and EDA_SHAPE::SetStart().

Referenced by LINE_FILLET_ROUTINE::ProcessLinePair(), and LINE_CHAMFER_ROUTINE::ProcessLinePair().

◆ ProcessShape()

◆ ProcessSubsequentPolygon()

bool POLYGON_MERGE_ROUTINE::ProcessSubsequentPolygon ( const SHAPE_POLY_SET aPolygon)
overrideprivatevirtual

Member Data Documentation

◆ m_board

BOARD_ITEM* ITEM_MODIFICATION_ROUTINE::m_board
privateinherited

Definition at line 209 of file item_modification_routine.h.

Referenced by ITEM_MODIFICATION_ROUTINE::GetBoard().

◆ m_handler

CHANGE_HANDLER& ITEM_MODIFICATION_ROUTINE::m_handler
privateinherited

Definition at line 210 of file item_modification_routine.h.

Referenced by ITEM_MODIFICATION_ROUTINE::GetHandler().

◆ m_numFailures

unsigned ITEM_MODIFICATION_ROUTINE::m_numFailures
privateinherited

◆ m_numSuccesses

unsigned ITEM_MODIFICATION_ROUTINE::m_numSuccesses
privateinherited

◆ m_workingPolygon

PCB_SHAPE* POLYGON_BOOLEAN_ROUTINE::m_workingPolygon
privateinherited

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