KiCad PCB EDA Suite
Loading...
Searching...
No Matches
board_bounding_box.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 (C) 2023 Ethan Chien <[email protected]>
5 * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21
22#ifndef BOARD_BOUNDING_BOX_H
23#define BOARD_BOUNDING_BOX_H
24
25#include <board_item.h>
26#include <memory>
27
28
30{
31public:
32 BOARD_BOUNDING_BOX( BOX2I const& aBoundingBox );
33
35
37
38 EDA_ITEM* Clone() const override;
39
40 ~BOARD_BOUNDING_BOX() override;
41
42 const BOX2I GetBoundingBox() const override;
43
44 void SetBoundingBox( BOX2I const& aBoundingBox );
45
46 wxString GetClass() const override;
47
48 void ViewGetLayers( int aLayers[], int& aCount ) const override;
49
50
51#if defined( DEBUG )
52
53 void Show( int nestLevel, std::ostream& os ) const override;
54
55#endif
56
57
58private:
59 std::shared_ptr<BOX2I> m_boundingBox;
60};
61
62#endif
BOX2< VECTOR2I > BOX2I
Definition box2.h:918
BOARD_BOUNDING_BOX(BOX2I const &aBoundingBox)
void SetBoundingBox(BOX2I const &aBoundingBox)
std::shared_ptr< BOX2I > m_boundingBox
BOARD_BOUNDING_BOX & operator=(const BOARD_BOUNDING_BOX &aOther)
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
wxString GetClass() const override
Return the class name.
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
virtual std::vector< int > ViewGetLayers() const override
Return the all the layers within the VIEW the object is painted on.
Definition eda_item.cpp:377
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
Definition eda_item.cpp:37