KiCad PCB EDA Suite
Loading...
Searching...
No Matches
backannotate.h File Reference
#include <deque>
#include <map>
#include <set>
#include <memory>
#include <vector>
#include <sch_reference_list.h>
#include <template_fieldnames.h>
#include <wx/string.h>

Go to the source code of this file.

Classes

struct  BACKANNOTATE_UNIT_SWAP_CANDIDATE
 
struct  BACKANNOTATE_UNIT_SWAP_STEP
 
struct  BACKANNOTATE_UNIT_SWAP_PLAN
 
class  BACK_ANNOTATE
 Back annotation algorithm class used to receive, check, and apply a NETLIST from Pcbnew. More...
 
struct  BACK_ANNOTATE::PCB_FP_DATA
 Container for Pcbnew footprint data.Map to hold NETLIST footprints data. More...
 

Functions

BACKANNOTATE_UNIT_SWAP_PLAN PlanBackannotateUnitSwaps (const std::vector< BACKANNOTATE_UNIT_SWAP_CANDIDATE > &aCandidates, const std::map< wxString, wxString > &aPcbPinMap)
 Compute a pure unit-swap plan from schematic-side unit definitions and the final PCB pin map.
 

Function Documentation

◆ PlanBackannotateUnitSwaps()

BACKANNOTATE_UNIT_SWAP_PLAN PlanBackannotateUnitSwaps ( const std::vector< BACKANNOTATE_UNIT_SWAP_CANDIDATE > & aCandidates,
const std::map< wxString, wxString > & aPcbPinMap )

Compute a pure unit-swap plan from schematic-side unit definitions and the final PCB pin map.

This is shared by backannotation and unit tests so swap inference can be exercised without constructing a full schematic editor test harness.

Definition at line 78 of file backannotate.cpp.

References BACKANNOTATE_UNIT_SWAP_PLAN::m_identity, BACKANNOTATE_UNIT_SWAP_PLAN::m_mappingOk, BACKANNOTATE_UNIT_SWAP_CANDIDATE::m_schNetsByPin, BACKANNOTATE_UNIT_SWAP_PLAN::m_steps, BACKANNOTATE_UNIT_SWAP_PLAN::m_swappedCandidateIndices, BACKANNOTATE_UNIT_SWAP_CANDIDATE::m_unitPinNumbers, and netsInUnitOrder().

Referenced by BACK_ANNOTATE::applyChangelist(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().