Performance improvements.

This commit is contained in:
Jeff Young 2023-06-21 16:51:24 +01:00
parent 7138e8a62e
commit 94a23971cc
2 changed files with 8 additions and 8 deletions

View File

@ -208,32 +208,32 @@ bool collidesWithCourtyard( BOARD_ITEM* aItem, std::shared_ptr<SHAPE>& aItemShap
static bool searchFootprints( BOARD* aBoard, const wxString& aArg, PCB_EXPR_CONTEXT* aCtx, static bool searchFootprints( BOARD* aBoard, const wxString& aArg, PCB_EXPR_CONTEXT* aCtx,
std::function<bool( FOOTPRINT* )> aFunc ) const std::function<bool( FOOTPRINT* )>& aFunc )
{ {
if( aArg == wxT( "A" ) ) if( aArg == wxT( "A" ) )
{ {
FOOTPRINT* fp = dynamic_cast<FOOTPRINT*>( aCtx->GetItem( 0 ) ); FOOTPRINT* fp = dynamic_cast<FOOTPRINT*>( aCtx->GetItem( 0 ) );
if( fp && aFunc( fp ) ) if( fp && aFunc( fp ) )
return 1.0; return true;
} }
else if( aArg == wxT( "B" ) ) else if( aArg == wxT( "B" ) )
{ {
FOOTPRINT* fp = dynamic_cast<FOOTPRINT*>( aCtx->GetItem( 1 ) ); FOOTPRINT* fp = dynamic_cast<FOOTPRINT*>( aCtx->GetItem( 1 ) );
if( fp && aFunc( fp ) ) if( fp && aFunc( fp ) )
return 1.0; return true;
} }
else for( FOOTPRINT* fp : aBoard->Footprints() ) else for( FOOTPRINT* fp : aBoard->Footprints() )
{ {
if( fp->GetReference().Matches( aArg ) ) if( fp->GetReference().Matches( aArg ) )
{ {
if( aFunc( fp ) ) if( aFunc( fp ) )
return 1.0; return true;
} }
} }
return 0.0; return false;
} }
@ -522,7 +522,7 @@ bool collidesWithArea( BOARD_ITEM* aItem, PCB_EXPR_CONTEXT* aCtx, ZONE* aArea )
bool searchAreas( BOARD* aBoard, const wxString& aArg, PCB_EXPR_CONTEXT* aCtx, bool searchAreas( BOARD* aBoard, const wxString& aArg, PCB_EXPR_CONTEXT* aCtx,
std::function<bool( ZONE* )> aFunc ) const std::function<bool( ZONE* )>& aFunc )
{ {
if( aArg == wxT( "A" ) ) if( aArg == wxT( "A" ) )
{ {
@ -555,7 +555,7 @@ bool searchAreas( BOARD* aBoard, const wxString& aArg, PCB_EXPR_CONTEXT* aCtx,
} }
} }
return 0.0; return false;
} }
else // Match on zone name else // Match on zone name
{ {

View File

@ -128,7 +128,7 @@ public:
void SetLayerSet( LSET aLayerSet ) override; void SetLayerSet( LSET aLayerSet ) override;
virtual LSET GetLayerSet() const override { return m_layerSet; } virtual LSET GetLayerSet() const override { return m_layerSet; }
wxString GetZoneName() const { return m_zoneName; } const wxString& GetZoneName() const { return m_zoneName; }
void SetZoneName( const wxString& aName ) { m_zoneName = aName; } void SetZoneName( const wxString& aName ) { m_zoneName = aName; }
bool Matches( const EDA_SEARCH_DATA& aSearchData, void* aAuxData ) const override bool Matches( const EDA_SEARCH_DATA& aSearchData, void* aAuxData ) const override