20#ifndef TOOLS_MULTICHANNEL_TOOL_H
21#define TOOLS_MULTICHANNEL_TOOL_H
27#include <unordered_map>
28#include <unordered_set>
93 std::unordered_map<RULE_AREA*, RULE_AREA_COMPAT_DATA>
m_compatMap;
118 wxString* aErrorOut =
nullptr );
125 const std::vector<wxString>& aReasons )
const;
167 static wxString
JoinReferences(
const std::set<FOOTPRINT*>& aFootprints );
176 const std::set<FOOTPRINT*>& aFootprints,
177 const std::unordered_set<EDA_ITEM*>& aItems );
180 bool Init()
override;
198 std::vector<RULE_AREA_COMPAT_DATA>
findMatches(
const std::set<FOOTPRINT*>& aSelected,
bool aLoose );
237 const std::unordered_set<int>& aExtraGlobalNets = {} );
255 bool resolveTopologies(
const wxString& aTitle,
const std::vector<TOPOLOGY_JOB>& aJobs );
258 const std::map<int, int>& aNetMap );
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
Information pertinent to a Pcbnew printed circuit board.
Represent a set of changes (additions, deletions or modifications) of a data model (e....
A base class for most all the KiCad significant classes used in schematics and boards.
Handle the data for a net.
A set of BOARD_ITEMs (i.e., without duplicates).
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Handle a list of polygons defining a copper zone.
The Cairo implementation of the graphics abstraction layer.
std::map< FOOTPRINT *, FOOTPRINT * > COMPONENT_MATCHES
Options for copying a placement rule area onto the others linked to it.
std::unordered_map< RULE_AREA *, RULE_AREA_COMPAT_DATA > m_compatMap
REPEAT_LAYOUT_OPTIONS m_options
bool m_linkAreas
Link the ticked targets to the reference.
bool FromSelection() const
A plain selection is the reference, and its channels are created only when applied.
std::vector< std::unique_ptr< BOARD_ITEM > > m_scratchItems
Areas and groups not yet on the board.
std::set< FOOTPRINT * > m_selectedFootprints
std::set< BOARD_ITEM * > m_selectedItems
std::vector< RULE_AREA > m_areas
std::vector< wxString > m_mismatchReasons
TMATCH::COMPONENT_MATCHES m_discovered
Pairing found by discovery.
std::unordered_set< BOARD_ITEM * > m_affectedItems
Filled in by copyRuleAreaContents with items that were affected by the copy operation.
TMATCH::COMPONENT_MATCHES m_matchingComponents
std::set< FOOTPRINT * > m_unmatched
Selected footprints the channel lacks.
std::unordered_set< BOARD_ITEM * > m_groupableItems
Filled in by copyRuleAreaContents with affected items that can be grouped together.
bool ScansContents() const
True when the contents are scanned from the area rather than taken from an exact item list.
std::unordered_set< EDA_ITEM * > m_designBlockItems
bool m_fromSelection
The reference of a plain selection, copied as given with its footprint area deciding what else comes ...
PLACEMENT_SOURCE_T m_sourceType
wxString m_componentClass
std::set< FOOTPRINT * > m_components
VECTOR2< int32_t > VECTOR2I
Class ZONE_SETTINGS used to handle zones parameters in dialogs.