KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_component.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, see AUTHORS.txt for contributors.
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#pragma once
21
22#include <memory>
23
25
26
31{
32public:
33 PCB_COMPONENT( const LIB_ID& aFPID,
34 const wxString& aReference,
35 const wxString& aValue,
36 const KIID_PATH& aPath,
37 const std::vector<KIID>& aKiids );
38
39 virtual ~PCB_COMPONENT();
40
41 FOOTPRINT* GetFootprint( bool aRelease = false );
42
43 void SetFootprint( FOOTPRINT* aFootprint );
44
45private:
47 std::unique_ptr<FOOTPRINT> m_footprint;
48};
49
50
51typedef boost::ptr_vector< PCB_COMPONENT > PCB_COMPONENTS;
COMPONENT(const LIB_ID &aFPID, const wxString &aReference, const wxString &aValue, const KIID_PATH &aPath, const std::vector< KIID > &aKiids)
A logical library item identifier and consists of various portions much like a URI.
Definition lib_id.h:45
PCB_COMPONENT(const LIB_ID &aFPID, const wxString &aReference, const wxString &aValue, const KIID_PATH &aPath, const std::vector< KIID > &aKiids)
std::unique_ptr< FOOTPRINT > m_footprint
The FOOTPRINT loaded for #m_FPID.
void SetFootprint(FOOTPRINT *aFootprint)
FOOTPRINT * GetFootprint(bool aRelease=false)
virtual ~PCB_COMPONENT()
boost::ptr_vector< PCB_COMPONENT > PCB_COMPONENTS