25#ifndef KICAD_SCH_DRAG_NET_COLLISION_H
26#define KICAD_SCH_DRAG_NET_COLLISION_H
30#include <unordered_map>
31#include <unordered_set>
70 std::span<const PREVIEW_NET_ASSIGNMENT> aPreviewAssignments = {} );
102 const std::unordered_map<
const SCH_ITEM*, std::optional<int>>&
103 aPreviewNetCodes )
const;
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
std::optional< COLLISION_MARKER > analyzeJunction(SCH_JUNCTION *aJunction, const SCH_SELECTION &aSelection, const std::unordered_map< const SCH_ITEM *, std::optional< int > > &aPreviewNetCodes) const
std::vector< ORIGINAL_CONNECTION > m_originalConnections
void recordItemNet(SCH_ITEM *aItem)
SCH_SHEET_PATH m_sheetPath
std::vector< DISCONNECTION_MARKER > collectDisconnectedMarkers(const SCH_SELECTION &aSelection) const
std::unordered_map< const SCH_ITEM *, std::optional< int > > m_itemNetCodes
void recordOriginalConnections(const SCH_SELECTION &aSelection)
~SCH_DRAG_NET_COLLISION_MONITOR()
KICURSOR AdjustCursor(KICURSOR aBaseCursor) const
std::shared_ptr< KIGFX::VIEW_OVERLAY > m_overlay
SCH_DRAG_NET_COLLISION_MONITOR(SCH_EDIT_FRAME *aFrame, KIGFX::VIEW *aView)
std::optional< int > GetNetCode(const SCH_ITEM *aItem) const
bool Update(const std::vector< SCH_JUNCTION * > &aJunctions, const SCH_SELECTION &aSelection, std::span< const PREVIEW_NET_ASSIGNMENT > aPreviewAssignments={})
void Initialize(const SCH_SELECTION &aSelection)
void clearOverlay() const
Schematic editor (Eeschema) main window.
Base class for any item which can be embedded within the SCHEMATIC container class,...
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
The Cairo implementation of the graphics abstraction layer.
Definition of the SCH_SHEET_PATH and SCH_SHEET_LIST classes for Eeschema.
std::optional< int > netCode
VECTOR2< int32_t > VECTOR2I