21#ifndef PCB_MERGE_APPLIER_H
22#define PCB_MERGE_APPLIER_H
77 std::unique_ptr<BOARD>
Apply();
160 const std::vector<PROPERTY_RESOLUTION>& aProps,
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Information pertinent to a Pcbnew printed circuit board.
BOARD_ITEM * cloneInto(BOARD *aTarget, const BOARD_ITEM *aSource) const
Clone a board item using its virtual Clone(); returns nullptr if the source is null,...
std::unique_ptr< BOARD > Apply()
Produce the merged board.
PCB_MERGE_APPLIER(const BOARD *aAncestor, const BOARD *aOurs, const BOARD *aTheirs, MERGE_PLAN aPlan)
const REPORT & GetReport() const
std::size_t applyPropertyResolutions(BOARD_ITEM *aTarget, const std::vector< PROPERTY_RESOLUTION > &aProps, const BOARD_ITEM *aOurs, const BOARD_ITEM *aTheirs, const BOARD_ITEM *aAncestor)
Apply property-level resolutions to a clone of aOurs (or aTheirs per PROP_RES).
const BOARD_ITEM * findItem(const BOARD *aBoard, const KIID &aId) const
Locate an item (top-level or footprint child) by UUID on one of the source boards.
Result of planning a 3-way merge.
Report on the application after Apply() runs.
std::size_t propertiesFailed
std::size_t itemsMergedProps
bool connectivityRebuildPerformed
True iff the caller invoked connectivity recomputation after the applier produced the merged document...
wxString fpLibTable
fp-lib-table content the applier resolved.
std::size_t itemsTakenTheirs
std::size_t propertiesApplied
VALIDATION_REPORT validation
Post-apply validator pipeline result (refdes uniqueness, connectivity-rebuild-ack,...
bool drcSeveritiesTouched
bool projectFileTouched
True iff the applier resolved state that lives in the .kicad_pro or a project sibling file.
std::size_t itemsTakenOurs
wxString customDrcRules
Custom DRC rules (.kicad_dru) content the applier resolved.
bool requiresConnectivityRebuild
wxString symLibTable
sym-lib-table content the applier resolved.
wxString drawingSheetFile
Drawing sheet path the applier resolved (from a doc-level resolution).