KiCad PCB EDA Suite
Loading...
Searching...
No Matches
footprint_courtyard_index.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright The KiCad Developers.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef FOOTPRINT_COURTYARD_INDEX_H
21
#define FOOTPRINT_COURTYARD_INDEX_H
22
23
#include <functional>
24
25
#include <
geometry/rtree/packed_rtree.h
>
26
#include <
math/box2.h
>
27
28
class
BOARD
;
29
class
FOOTPRINT
;
30
40
class
FOOTPRINT_COURTYARD_INDEX
41
{
42
public
:
44
explicit
FOOTPRINT_COURTYARD_INDEX
(
const
BOARD
* aBoard );
45
48
void
QueryOverlapping
(
const
BOX2I
& aBox,
49
const
std::function<
bool
(
FOOTPRINT
* )>& aVisitor )
const
;
50
51
private
:
52
KIRTREE::PACKED_RTREE<FOOTPRINT*, int, 2>
m_tree
;
53
};
54
55
#endif
// FOOTPRINT_COURTYARD_INDEX_H
box2.h
BOX2I
BOX2< VECTOR2I > BOX2I
Definition
box2.h:918
BOARD
Information pertinent to a Pcbnew printed circuit board.
Definition
board.h:372
FOOTPRINT_COURTYARD_INDEX::m_tree
KIRTREE::PACKED_RTREE< FOOTPRINT *, int, 2 > m_tree
Definition
footprint_courtyard_index.h:52
FOOTPRINT_COURTYARD_INDEX::QueryOverlapping
void QueryOverlapping(const BOX2I &aBox, const std::function< bool(FOOTPRINT *)> &aVisitor) const
Visit every footprint whose courtyard bounding box overlaps aBox.
Definition
footprint_courtyard_index.cpp:66
FOOTPRINT_COURTYARD_INDEX::FOOTPRINT_COURTYARD_INDEX
FOOTPRINT_COURTYARD_INDEX(const BOARD *aBoard)
Build the index from the board's footprint courtyards (which DRC has already cached).
Definition
footprint_courtyard_index.cpp:25
FOOTPRINT
Definition
footprint.h:288
KIRTREE::PACKED_RTREE
Static (immutable) packed R-tree built via Hilbert-curve bulk loading.
Definition
packed_rtree.h:58
packed_rtree.h
src
pcbnew
footprint_courtyard_index.h
Generated on Fri Jun 26 2026 00:05:39 for KiCad PCB EDA Suite by
1.13.2