KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DIFF_PHASE_SKEW_TOOL Class Reference

Tool responsible for displaying an overlay of incremental phase difference between differential pair tracks. More...

#include <diff_phase_skew_tool.h>

Inheritance diagram for DIFF_PHASE_SKEW_TOOL:
PCB_TOOL_BASE TOOL_INTERACTIVE TOOL_BASE

Classes

struct  CUMULATIVE_ENTRY
 Struct to represent one cumulative length and delay point. More...
 
struct  OUTPUT_SEGMENT
 Struct containing a final computed output diff segment. More...
 
struct  START_END_DETAILS
 Start and end pad lengths and delays (pad-to-die + inferred via-in-pad) More...
 

Public Types

enum class  MODE { HOVER , SELECTED_FIRST , FIXED_MODE }
 The possible states of DRAWING_TOOL. More...
 
enum class  DIFF_PAIR_VALIDITY : int {
  VALID = 0 , NO_START_OR_END_PADS , NO_SOURCE_PADS_SELECTED_TRACK , NO_SOURCE_PADS_COUPLED_TRACK ,
  MULTIPLE_SOURCES_SELECTED_TRACK , MULTIPLE_SOURCES_COUPLED_TRACK
}
 Flags for the analysis state of the selected tracks. More...
 
enum  RESET_REASON {
  RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH ,
  REDRAW , SHUTDOWN
}
 Determine the reason of reset for a tool. More...
 

Public Member Functions

 DIFF_PHASE_SKEW_TOOL ()
 
 ~DIFF_PHASE_SKEW_TOOL ()
 
bool Init () override
 Init() is called once upon a registration of the tool.
 
void Reset (RESET_REASON aReason) override
 Bring the tool to a known, initial state.
 
MODE GetMode () const
 Return the current mode of the tool.
 
void SetMode (const MODE aMode)
 Set the current mode of the tool.
 
int ShowDiffPhaseSkew (const TOOL_EVENT &aEvent)
 The tool entry point.
 
void SetIsFootprintEditor (bool aEnabled)
 Toggle edit footprint mode.
 
bool IsFootprintEditor () const
 
void SetIsBoardEditor (bool aEnabled)
 
bool IsBoardEditor () const
 
virtual bool Is45Limited () const
 Should the tool use its 45° mode option?
 
virtual bool Is90Limited () const
 Should the tool limit drawing to horizontal and vertical only?
 
LEADER_MODE GetAngleSnapMode () const
 Get the current angle snapping mode.
 
bool GetAutoConstraints () const
 Should drawing tools author constraints automatically?
 
void Activate ()
 Run the tool.
 
TOOL_MENU & GetToolMenu ()
 
void SetContextMenu (ACTION_MENU *aMenu, CONTEXT_MENU_TRIGGER aTrigger=CMENU_BUTTON)
 Assign a context menu and tells when it should be activated.
 
void RunMainStack (std::function< void()> aFunc)
 Call a function using the main stack.
 
template<class T>
void Go (int(T::*aStateFunc)(const TOOL_EVENT &), const TOOL_EVENT_LIST &aConditions=TOOL_EVENT(TC_ANY, TA_ANY))
 Define which state (aStateFunc) to go when a certain event arrives (aConditions).
 
TOOL_EVENT * Wait (const TOOL_EVENT_LIST &aEventList=TOOL_EVENT(TC_ANY, TA_ANY))
 Suspend execution of the tool until an event specified in aEventList arrives.
 
TOOL_TYPE GetType () const
 Return the type of the tool.
 
TOOL_ID GetId () const
 Return the unique identifier of the tool.
 
const std::string & GetName () const
 Return the name of the tool.
 
TOOL_MANAGER * GetManager () const
 Return the instance of TOOL_MANAGER that takes care of the tool.
 
bool IsToolActive () const
 

Protected Types

enum  INTERACTIVE_PLACEMENT_OPTIONS { IPO_ROTATE = 0x01 , IPO_FLIP = 0x02 , IPO_SINGLE_CLICK = 0x04 , IPO_REPEAT = 0x08 }
 Options for placing items interactively. More...
 

Protected Member Functions

void setTransitions () override
 Set up handlers for tool events.
 
void updateNetHighlights (bool aRefresh=true) const
 Highlight nets when in MODE::HOVER and we have active nets in scope.
 
void doInitialHover (const PCB_SELECTION_TOOL *aSelectionTool, GENERAL_COLLECTORS_GUIDE aGuide)
 Handle hover events before a DP pair is selected.
 
void doDisplayOverlay ()
 Display the phase overlay for the current hover item.
 
void getNetPaths ()
 Use the router to get the +ve and -ve paths from the selected item.
 
DIFF_PAIR_VALIDITY determinePathDirections ()
 Determine which end of the extracted paths we are defining as the signal start point.
 
bool reportValidityErrors (DIFF_PAIR_VALIDITY aDirection) const
 Report to the user any errors after determining the signal direction.
 
void buildLengthDelayItems (const PNS::ITEM_SET &aPath, const PNS::SOLID *aStartPad, const PNS::SOLID *aEndPad, const NETINFO_ITEM *aNet, std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aItems, LENGTH_DELAY_ITEM_DETAILS &aItemDetails) const
 Builds the length / delay calculation items from a given path.
 
std::vector< PARALLEL_RUN > findParallelRuns () const
 Finds all parallel segment runs in the selected and coupled tracks.
 
void findParallelRunsImpl (std::pair< std::size_t, std::size_t > aRangeA, std::pair< std::size_t, std::size_t > aRangeB, double aMaxSpacing, std::vector< PARALLEL_RUN > &aRuns) const
 Finds all parallel segment runs in the selected and coupled tracks within the given segment ranges and track spacing.
 
int getMaxDiffPairGap (const BOARD_CONNECTED_ITEM *aItem) const
 Gets the maximum diff pair gap for the given item, taken from DRC rules.
 
void buildDiffOverlaySegments (double aTargetSubsegmentSize)
 Builds the final overlay output segments for plotting.
 
std::vector< OUTPUT_SEGMENT > buildDiffOverlaySegmentsImpl (const std::vector< CUMULATIVE_ENTRY > &aSegments, const std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aSourceItemDetails, const std::vector< KNOWN_RELATIVE_POINT > &aKnownPoints, double aTargetSubsegmentSize)
 
void buildKnownRelativePoints (const std::vector< PARALLEL_RUN > &aKnownRuns)
 Builds a vector of known relative skew points on each track.
 
COLOR4D interpolateColours (const COLOR4D &aColour1, const COLOR4D &aColour2, double aS, bool aUseLogScale) const
 Linearly interpolates between colour1 and colour2, with interpolation point given by aS [0-1].
 
void drawDiffOverlay () const
 Draws the visual skew overlay.
 
void doShowStatsAtCursor ()
 Shows the diff stats nearest the cursor.
 
std::pair< std::size_t, bool > getNearestDiffSegments (const VECTOR2D &aCursorPos, double aHitTestDistance) const
 Determines the nearest points to the cursor from the diff segments.
 
void getOverlay ()
 Ensures we have an active VIEW_OVERLAY to display the diff graphics.
 
void updateOverlay () const
 Refreshes the VIEW_OVERLAY in the active VIEW.
 
void clearOverlay () const
 Clears the VIEW_OVERLAY.
 
void resetStateVariables ()
 Resets all select-specific variables.
 
void updateMessagePanel () const
 Updates the message panel.
 
void doInteractiveItemPlacement (const TOOL_EVENT &aTool, INTERACTIVE_PLACER_BASE *aPlacer, const wxString &aCommitMessage, int aOptions=IPO_ROTATE|IPO_FLIP|IPO_REPEAT)
 Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc.
 
KIGFX::PCB_VIEW * view () const
 
KIGFX::VIEW_CONTROLS * controls () const
 
template<class T = PCB_BASE_EDIT_FRAME>
T * frame () const
 
BOARD * board () const
 
FOOTPRINT * footprint () const
 
PCBNEW_SETTINGS::DISPLAY_OPTIONS & displayOptions () const
 
PCB_DRAW_PANEL_GAL * canvas () const
 
const PCB_SELECTION & selection () const
 
PCB_SELECTION & selection ()
 
void attachManager (TOOL_MANAGER *aManager)
 Set the TOOL_MANAGER the tool will belong to.
 
KIGFX::VIEW * getView () const
 Return the instance of KIGFX::VIEW object used in the application.
 
KIGFX::VIEW_CONTROLS * getViewControls () const
 Return the instance of VIEW_CONTROLS object used in the application.
 
template<typename T>
T * getEditFrame () const
 Return the application window object, casted to requested user type.
 
template<typename T>
T * getModel () const
 Return the model object if it matches the requested type.
 

Static Protected Member Functions

static void normalisePathItems (const PNS::ITEM_SET &aPath, const PNS::SOLID *aStartPad)
 Normalises the path to ensure SHAPE_LINE_CHAIN points are in overall path walk order.
 
static void reversePath (PNS::ITEM_SET &aPath, PNS::SOLID **aStartPad, PNS::SOLID **aEndPad)
 Reverses the direction of the selected and coupled paths (including swapping start / end pads.
 
static std::vector< CUMULATIVE_ENTRY > buildCumulativeLengthsAndDelays (const std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aItems, const LENGTH_DELAY_ITEM_DETAILS &aLengthDelayDetails, const PNS::SOLID *aStartPad, const PNS::SOLID *aEndPad, START_END_DETAILS &aStartEndDetails)
 Builds a vector in which each entry represents the cumulative length and delay at the start of a given segment.
 
static void splitLengthItems (std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aItems)
 Splits the calculation items from compound segments in to individual items.
 
static VECTOR2D lerp (const VECTOR2D aA, const VECTOR2D aB, const double aT)
 Linear interpolate from point A to B at line fraction T.
 
static std::pair< int64_t, int64_t > getCumulativeLengthAndDelayAt (const LENGTH_DELAY_ITEM_DETAILS &aLengthDelayDetails, const START_END_DETAILS &aPadDetails, const std::vector< CUMULATIVE_ENTRY > &aCumulative, std::size_t aSegIdx, double aT)
 Gets the cumulative length and delay at the given fractional coordinate in the given segment.
 
static std::vector< double > buildSplitPositions (const std::vector< CUMULATIVE_ENTRY > &aSegments, double aTargetSubsegmentSize)
 Determines where to apply overlay segment subsections on the source segments.
 
static std::pair< VECTOR2D, std::size_t > pointAtDistance (const std::vector< CUMULATIVE_ENTRY > &aSegments, const std::vector< LENGTH_DELAY_CALCULATION_ITEM > &aSourceItemDetails, double aDist)
 Returns the coordinate at the given linear distance along the line, along with the segment index the point belongs to.
 

Protected Attributes

bool m_isFootprintEditor
 
bool m_isBoardEditor
 
std::unique_ptr< TOOL_MENU > m_menu
 The functions below are not yet implemented - their interface may change.
 
TOOL_TYPE m_type
 
TOOL_ID m_toolId
 Unique id, assigned by a TOOL_MANAGER instance.
 
std::string m_toolName
 Names are expected to obey the format application.ToolName (eg.
 
TOOL_MANAGER * m_toolMgr
 

Private Member Functions

void resetTransitions ()
 Clear the current transition map and restores the default one created by setTransitions().
 
void goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions)
 
EDA_ITEM * getModelInternal () const
 
TOOLS_HOLDER * getToolHolderInternal () const
 

Private Attributes

KIGFX::VIEW * m_view { nullptr }
 
std::shared_ptr< KIGFX::VIEW_OVERLAY > m_viewOverlay { nullptr }
 
KIGFX::VIEW_CONTROLS * m_controls { nullptr }
 
BOARD * m_board { nullptr }
 
PCB_BASE_EDIT_FRAME * m_frame { nullptr }
 
std::shared_ptr< DRC_ENGINE > m_drcEngine { nullptr }
 
MODE m_mode { MODE::HOVER }
 
bool m_inDiffPhaseSkewTool { false }
 
VECTOR2D m_cursorPos
 
BOARD_CONNECTED_ITEM * m_pickerItemFirst { nullptr }
 
BOARD_CONNECTED_ITEM * m_pickerItemSecond { nullptr }
 
bool m_pickerItemFirstIsDiffPair { false }
 
int m_netcodeP { 0 }
 
int m_netcodeN { 0 }
 
VECTOR2I m_originFirst
 
VECTOR2I m_originSecond
 
bool m_timeDomain { false }
 
PNS::ROUTER * m_router { nullptr }
 
PNS_KICAD_IFACE * m_iface { nullptr }
 
PNS::SIZES_SETTINGS m_savedSizes
 
int m_selectedNetcode { 0 }
 
int m_coupledNetcode { 0 }
 
NETINFO_ITEM * m_selectedNetinfo { nullptr }
 
NETINFO_ITEM * m_coupledNetinfo { nullptr }
 
PNS::ITEM_SET m_selectedPath
 
PNS::ITEM_SET m_coupledPath
 
PNS::SOLID * m_selectedStartPad { nullptr }
 
PNS::SOLID * m_selectedEndPad { nullptr }
 
PNS::SOLID * m_coupledStartPad { nullptr }
 
PNS::SOLID * m_coupledEndPad { nullptr }
 
std::vector< LENGTH_DELAY_CALCULATION_ITEM > m_selectedLengthDelayItems
 
std::vector< LENGTH_DELAY_CALCULATION_ITEM > m_coupledLengthDelayItems
 
LENGTH_DELAY_ITEM_DETAILS m_selectedLengthDelayDetails
 
LENGTH_DELAY_ITEM_DETAILS m_coupledLengthDelayDetails
 
START_END_DETAILS m_selectedStartEndDetails
 
START_END_DETAILS m_coupledStartEndDetails
 
std::vector< CUMULATIVE_ENTRY > m_selectedCumulative
 
std::vector< CUMULATIVE_ENTRY > m_coupledCumulative
 
std::vector< KNOWN_RELATIVE_POINT > m_selectedKnownPoints
 
std::vector< KNOWN_RELATIVE_POINT > m_coupledKnownPoints
 
std::vector< OUTPUT_SEGMENT > m_selectedDiffs
 
std::vector< OUTPUT_SEGMENT > m_coupledDiffs
 
std::optional< int > m_maxSkew
 
std::pair< std::size_t, bool > m_segmentForStatisticsDisplay { std::numeric_limits<std::size_t>::max(), false }
 
double m_overlayTrackInflation { 1.1 }
 
double m_trackGapInflation { 1.2 }
 
double m_cosThetaParallelTestValue { 0.9999 }
 
double m_colourInterpolationLogStrength { 9.0 }
 
double m_targetDiffSegmentSize { 50000.0 }
 

Detailed Description

Tool responsible for displaying an overlay of incremental phase difference between differential pair tracks.

Definition at line 222 of file diff_phase_skew_tool.h.

Member Enumeration Documentation

◆ DIFF_PAIR_VALIDITY

Flags for the analysis state of the selected tracks.

Enumerator
VALID 
NO_START_OR_END_PADS 
NO_SOURCE_PADS_SELECTED_TRACK 
NO_SOURCE_PADS_COUPLED_TRACK 
MULTIPLE_SOURCES_SELECTED_TRACK 
MULTIPLE_SOURCES_COUPLED_TRACK 

Definition at line 257 of file diff_phase_skew_tool.h.

◆ INTERACTIVE_PLACEMENT_OPTIONS

Options for placing items interactively.

Enumerator
IPO_ROTATE 

Handle the rotate action in the loop by calling the item's rotate method.

IPO_FLIP 

Handle flip action in the loop by calling the item's flip method.

IPO_SINGLE_CLICK 

Create an item immediately on placement starting, otherwise show the pencil cursor until the item is created.

IPO_REPEAT 

Allow repeat placement of the item.

Definition at line 135 of file pcb_tool_base.h.

◆ MODE

enum class DIFF_PHASE_SKEW_TOOL::MODE
strong

The possible states of DRAWING_TOOL.

Enumerator
HOVER 
SELECTED_FIRST 
FIXED_MODE 

Definition at line 235 of file diff_phase_skew_tool.h.

◆ RESET_REASON

enum TOOL_BASE::RESET_REASON
inherited

Determine the reason of reset for a tool.

Enumerator
RUN 

Tool is invoked after being inactive.

MODEL_RELOAD 

Model changes (the sheet for a schematic)

SUPERMODEL_RELOAD 

For schematics, the entire schematic changed, not just the sheet.

GAL_SWITCH 

Rendering engine changes.

REDRAW 

Full drawing refresh.

SHUTDOWN 

Tool is being shut down.

Definition at line 73 of file tool_base.h.

Constructor & Destructor Documentation

◆ DIFF_PHASE_SKEW_TOOL()

◆ ~DIFF_PHASE_SKEW_TOOL()

DIFF_PHASE_SKEW_TOOL::~DIFF_PHASE_SKEW_TOOL ( )

Definition at line 66 of file diff_phase_skew_tool.cpp.

Member Function Documentation

◆ Activate()

void TOOL_INTERACTIVE::Activate ( )
inherited

Run the tool.

After activation, the tool starts receiving events until it is finished.

Definition at line 61 of file tool_interactive.cpp.

References TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.

Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::OptimizeSelected(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), and DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog().

◆ attachManager()

void TOOL_BASE::attachManager ( TOOL_MANAGER * aManager)
protectedinherited

Set the TOOL_MANAGER the tool will belong to.

Called by TOOL_MANAGER::RegisterTool()

Definition at line 58 of file tool_base.cpp.

References m_toolMgr, and TOOL_MANAGER.

Referenced by TOOL_MANAGER::RegisterTool().

◆ board()

BOARD * PCB_TOOL_BASE::board ( ) const
inlineprotectedinherited

Definition at line 187 of file pcb_tool_base.h.

References TOOL_BASE::getModel().

Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), CONSTRAINT_EDIT_TOOL::allMembersLocked(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), AUTOPLACE_TOOL::autoplaceOffboard(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), PCB_CONTROL::CollectAndEmbed3DModels(), CONSTRAINT_EDIT_TOOL::constraintParent(), MULTICHANNEL_TOOL::copyRuleAreaContents(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprintFromWizard(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), CONSTRAINT_EDIT_TOOL::DiagnoseAfterMove(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), DRAWING_TOOL::drawShape(), EDIT_TOOL::Duplicate(), CONSTRAINT_EDIT_TOOL::ensureDiagnosis(), PAD_TOOL::EnumeratePads(), VIA_STITCH_TOOL::ExcludeStitchVia(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportCmpFile(), BOARD_EDITOR_CONTROL::ExportHyperlynx(), BOARD_EDITOR_CONTROL::ExportNetlist(), BOARD_EDITOR_CONTROL::ExportSTEP(), BOARD_EDITOR_CONTROL::ExportVRML(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), MULTICHANNEL_TOOL::findComponentsInRuleArea(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findPlacementGroup(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), ROUTER_TOOL::finishInteractive(), MULTICHANNEL_TOOL::fixupNet(), footprint(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), GENERATOR_TOOL::GenEditAction(), MULTICHANNEL_TOOL::GeneratePotentialRuleAreas(), GENERATOR_TOOL::GENERATOR_TOOL(), BOARD_EDITOR_CONTROL::GenFootprintsReport(), ROUTER_TOOL::handleLayerSwitch(), CONSTRAINT_EDIT_TOOL::HighlightConstraintMembers(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), CONSTRAINT_EDIT_TOOL::hitTestBadge(), CONSTRAINT_EDIT_TOOL::hoverCandidates(), CONSTRAINT_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), CONSTRAINT_EDIT_TOOL::isDuplicateConstraint(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), GENERATOR_TOOL::MakeViaStackFromSelection(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::onViaStackCommand(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_CONTROL::pickDocumentationLayer(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PCB_CONTROL::placeGeneratedTable(), DRAWING_TOOL::PlaceMicroviaStack(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_CONTROL::pruneItemLayers(), MULTICHANNEL_TOOL::queryBoardItemsInGroup(), MULTICHANNEL_TOOL::queryComponentsInComponentClass(), MULTICHANNEL_TOOL::queryComponentsInGroup(), MULTICHANNEL_TOOL::queryComponentsInSheet(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), ZONE_FILLER_TOOL::refillAroundGenerators(), GENERATOR_TOOL::RegenerateAllOfType(), ZONE_FILLER_TOOL::regenerateDirtyGenerators(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), PCB_CONTROL::RehatchShapes(), CONSTRAINT_EDIT_TOOL::removeConstraint(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), CONSTRAINT_EDIT_TOOL::repaintShadowItems(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), MULTICHANNEL_TOOL::RepeatLayout(), CONSTRAINT_EDIT_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PCB_CONTROL::Reset(), PNS::TOOL_BASE::Reset(), CONSTRAINT_EDIT_TOOL::resolveConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), BOARD_INSPECTION_TOOL::showBoardComparison(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), CONSTRAINT_EDIT_TOOL::solveAddedConstraint(), CONSTRAINT_EDIT_TOOL::SolveAfterEdit(), CONSTRAINT_EDIT_TOOL::SolveAfterMove(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::unfilledZoneCheck(), CONSTRAINT_EDIT_TOOL::updateConstraintMsgPanel(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().

◆ buildCumulativeLengthsAndDelays()

◆ buildDiffOverlaySegments()

void DIFF_PHASE_SKEW_TOOL::buildDiffOverlaySegments ( double aTargetSubsegmentSize)
protected

◆ buildDiffOverlaySegmentsImpl()

◆ buildKnownRelativePoints()

void DIFF_PHASE_SKEW_TOOL::buildKnownRelativePoints ( const std::vector< PARALLEL_RUN > & aKnownRuns)
protected

◆ buildLengthDelayItems()

void DIFF_PHASE_SKEW_TOOL::buildLengthDelayItems ( const PNS::ITEM_SET & aPath,
const PNS::SOLID * aStartPad,
const PNS::SOLID * aEndPad,
const NETINFO_ITEM * aNet,
std::vector< LENGTH_DELAY_CALCULATION_ITEM > & aItems,
LENGTH_DELAY_ITEM_DETAILS & aItemDetails ) const
protected

◆ buildSplitPositions()

std::vector< double > DIFF_PHASE_SKEW_TOOL::buildSplitPositions ( const std::vector< CUMULATIVE_ENTRY > & aSegments,
double aTargetSubsegmentSize )
staticprotected

Determines where to apply overlay segment subsections on the source segments.

Definition at line 559 of file diff_phase_skew_tool.cpp.

References std::abs(), and EPS.

Referenced by buildDiffOverlaySegmentsImpl().

◆ canvas()

◆ clearOverlay()

void DIFF_PHASE_SKEW_TOOL::clearOverlay ( ) const
protected

Clears the VIEW_OVERLAY.

Definition at line 1708 of file diff_phase_skew_tool.cpp.

References m_viewOverlay, and updateOverlay().

Referenced by drawDiffOverlay(), and ShowDiffPhaseSkew().

◆ controls()

◆ determinePathDirections()

◆ displayOptions()

◆ doDisplayOverlay()

◆ doInitialHover()

◆ doInteractiveItemPlacement()

void PCB_TOOL_BASE::doInteractiveItemPlacement ( const TOOL_EVENT & aTool,
INTERACTIVE_PLACER_BASE * aPlacer,
const wxString & aCommitMessage,
int aOptions = IPO_ROTATE | IPO_FLIP | IPO_REPEAT )
protectedinherited

Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc.

More complex interactive processes are not supported here, you should implement a customised event loop for those.

Parameters
aTool
aPlacer
aCommitMessagethe message used on a successful commit
aOptions

Definition at line 39 of file pcb_tool_base.cpp.

References TOOL_INTERACTIVE::Activate(), KIGFX::PCB_VIEW::Add(), KIGFX::VIEW_GROUP::Add(), SELECTION::Add(), PCB_ACTIONS::angleSnapModeChanged, ARROW, board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), controls(), INTERACTIVE_PLACER_BASE::CreateItem(), ACTIONS::cursorClick, ACTIONS::cursorDblClick, DIRECT, PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), frame(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, GetAppSettings(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), KIGFX::VIEW_CONTROLS::GetMousePosition(), TOOL_BASE::getView(), grid, IPO_FLIP, IPO_REPEAT, IPO_ROTATE, IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_AngleSnapMode, INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, NO_RECURSE, PENCIL, PLACE, INTERACTIVE_PLACER_BASE::PlaceItem(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, selection(), ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_ITEM::SetFlags(), KIGFX::VIEW_CONTROLS::ShowCursor(), INTERACTIVE_PLACER_BASE::SnapItem(), TC_COMMAND, PCB_ACTIONS::trackViaSizeChanged, KIGFX::PCB_VIEW::Update(), view(), and TOOL_INTERACTIVE::Wait().

Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DRAWING_TOOL::DrawVia(), PAD_TOOL::PlacePad(), and DRAWING_TOOL::PlacePoint().

◆ doShowStatsAtCursor()

void DIFF_PHASE_SKEW_TOOL::doShowStatsAtCursor ( )
protected

Shows the diff stats nearest the cursor.

Definition at line 1595 of file diff_phase_skew_tool.cpp.

References DETAILS_HOVER_HITTEST_THRESHOLD_PIXELS, drawDiffOverlay(), getNearestDiffSegments(), m_cursorPos, m_segmentForStatisticsDisplay, and m_view.

Referenced by ShowDiffPhaseSkew().

◆ drawDiffOverlay()

◆ findParallelRuns()

std::vector< PARALLEL_RUN > DIFF_PHASE_SKEW_TOOL::findParallelRuns ( ) const
protected

◆ findParallelRunsImpl()

void DIFF_PHASE_SKEW_TOOL::findParallelRunsImpl ( std::pair< std::size_t, std::size_t > aRangeA,
std::pair< std::size_t, std::size_t > aRangeB,
double aMaxSpacing,
std::vector< PARALLEL_RUN > & aRuns ) const
protected

Finds all parallel segment runs in the selected and coupled tracks within the given segment ranges and track spacing.

Definition at line 937 of file diff_phase_skew_tool.cpp.

References SEG::A, A0, A1, std::abs(), SEG::B, VECTOR2< T >::Dot(), PARALLEL_RUN::endA, PARALLEL_RUN::endB, PARALLEL_RUN::endDelayA, PARALLEL_RUN::endDelayB, PARALLEL_RUN::endLenA, PARALLEL_RUN::endLenB, PARALLEL_RUN::endViaDelayA, PARALLEL_RUN::endViaDelayB, PARALLEL_RUN::endViaLengthA, PARALLEL_RUN::endViaLengthB, EPS, VECTOR2< T >::EuclideanNorm(), getCumulativeLengthAndDelayAt(), LENGTH_DELAY_CALCULATION_ITEM::GetLine(), LENGTH_DELAY_CALCULATION_ITEM::GetStartLayer(), LENGTH_DELAY_CALCULATION_ITEM::GetWidth(), index, lerp(), m_cosThetaParallelTestValue, m_coupledCumulative, m_coupledLengthDelayDetails, m_coupledLengthDelayItems, m_coupledStartEndDetails, m_selectedCumulative, m_selectedLengthDelayDetails, m_selectedLengthDelayItems, m_selectedStartEndDetails, m_trackGapInflation, next(), PARALLEL_RUN::segA, PARALLEL_RUN::segB, SHAPE_LINE_CHAIN::Segment(), SHAPE_LINE_CHAIN::SegmentCount(), PARALLEL_RUN::startA, PARALLEL_RUN::startB, PARALLEL_RUN::startDelayA, PARALLEL_RUN::startDelayB, PARALLEL_RUN::startLenA, PARALLEL_RUN::startLenB, PARALLEL_RUN::startViaDelayA, PARALLEL_RUN::startViaDelayB, PARALLEL_RUN::startViaLengthA, PARALLEL_RUN::startViaLengthB, PARALLEL_RUN::ta0, PARALLEL_RUN::ta1, PARALLEL_RUN::tb0, PARALLEL_RUN::tb1, LENGTH_DELAY_CALCULATION_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by findParallelRuns().

◆ footprint()

◆ frame()

template<class T = PCB_BASE_EDIT_FRAME>
T * PCB_TOOL_BASE::frame ( ) const
inlineprotectedinherited

Definition at line 182 of file pcb_tool_base.h.

References TOOL_BASE::getEditFrame(), and T.

Referenced by CONSTRAINT_EDIT_TOOL::AddConstraint(), PCB_POINT_EDITOR::addCorner(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), CONSTRAINT_EDIT_TOOL::applyDiagnostics(), MATCH_PROPERTIES_TOOL::applyToTargets(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::BooleanPolygons(), canvas(), PCB_POINT_EDITOR::chamferCorner(), EDIT_TOOL::ChangeTrackLayer(), ZONE_FILLER_TOOL::CheckAllZones(), MULTICHANNEL_TOOL::CheckRACompatibility(), PNS::TOOL_BASE::checkSnap(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), CONSTRAINT_EDIT_TOOL::commitConstraint(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprintFromWizard(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), CONSTRAINT_EDIT_TOOL::DiagnoseAfterMove(), displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), CONSTRAINT_EDIT_TOOL::editConstraint(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), MATCH_PROPERTIES_TOOL::enabledKeys(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), VIA_STITCH_TOOL::ExcludeStitchVia(), PAD_TOOL::ExitPadEditMode(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), CONSTRAINT_EDIT_TOOL::finishConstraintCommit(), ROUTER_TOOL::finishInteractive(), DRC_TOOL::FixDRCErrorMenuText(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetAngleSnapMode(), GetAutoConstraints(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), EDIT_TOOL::Init(), PCB_PICKER_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), GENERATOR_TOOL::MakeViaStackFromSelection(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), MATCH_PROPERTIES_TOOL::Match(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), ROUTER_TOOL::onViaStackCommand(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), PAD_TOOL::PadTable(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PNS::TOOL_BASE::pickSingleItem(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlacePoint(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), PCB_POINT_EDITOR::removeCorner(), CONSTRAINT_EDIT_TOOL::renderConstraintViews(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::repeatLayout(), CONSTRAINT_EDIT_TOOL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), PAD_TOOL::Reset(), PNS::TOOL_BASE::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_POINT_EDITOR::setEditedPoint(), CONSTRAINT_EDIT_TOOL::setSelectedConstraint(), ROUTER_TOOL::SettingsDialog(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), FOOTPRINT_EDITOR_CONTROL::ShowDatasheet(), PCB_CONTROL::ShowDrillGroups(), BOARD_EDITOR_CONTROL::ShowEeschema(), GENERATOR_TOOL::ShowGeneratorsManager(), MULTICHANNEL_TOOL::ShowMismatchDetails(), MATCH_PROPERTIES_TOOL::showSettingsDialog(), EDIT_TOOL::SimplifyPolygons(), GLOBAL_EDIT_TOOL::swapBoardItem(), EDIT_TOOL::SwapGateNets(), GLOBAL_EDIT_TOOL::SwapLayers(), EDIT_TOOL::SwapPadNets(), ROUTER_TOOL::switchLayerOnViaPlacement(), CONSTRAINT_EDIT_TOOL::ToggleAutoConstraints(), EDIT_TOOL::ToggleFootprintAttribute(), CONSTRAINT_EDIT_TOOL::updateConstraintMsgPanel(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), DIFF_PHASE_SKEW_TOOL::updateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().

◆ GetAngleSnapMode()

◆ GetAutoConstraints()

bool PCB_TOOL_BASE::GetAutoConstraints ( ) const
inherited

◆ getCumulativeLengthAndDelayAt()

std::pair< int64_t, int64_t > DIFF_PHASE_SKEW_TOOL::getCumulativeLengthAndDelayAt ( const LENGTH_DELAY_ITEM_DETAILS & aLengthDelayDetails,
const START_END_DETAILS & aPadDetails,
const std::vector< CUMULATIVE_ENTRY > & aCumulative,
std::size_t aSegIdx,
double aT )
staticprotected

Gets the cumulative length and delay at the given fractional coordinate in the given segment.

Definition at line 1225 of file diff_phase_skew_tool.cpp.

References LENGTH_DELAY_ITEM_DETAILS::LengthsAndDelays, DIFF_PHASE_SKEW_TOOL::START_END_DETAILS::StartPadDelay, and DIFF_PHASE_SKEW_TOOL::START_END_DETAILS::StartPadLength.

Referenced by findParallelRunsImpl().

◆ getEditFrame()

template<typename T>
T * TOOL_BASE::getEditFrame ( ) const
inlineprotectedinherited

Return the application window object, casted to requested user type.

Definition at line 182 of file tool_base.h.

References getToolHolderInternal(), and T.

Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_EDITOR_CONTROL::BoardSetup(), PCB_POINT_EDITOR::chamferCorner(), PCB_POINT_EDITOR::changeArcEditMode(), ZONE_FILLER_TOOL::CheckAllZones(), FOOTPRINT_EDITOR_CONTROL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupTracksAndVias(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), MICROWAVE_TOOL::drawMicrowaveInductor(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_SELECTION_TOOL::editFrame(), GLOBAL_EDIT_TOOL::EditTeardrops(), FOOTPRINT_EDITOR_CONTROL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), EDIT_TOOL::EditVertices(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FOOTPRINT_WIZARD_TOOLS::frame(), PCB_SELECTION_TOOL::frame(), PCB_TEST_SELECTION_TOOL::frame(), PCB_TOOL_BASE::frame(), PCB_VIEWER_TOOLS::frame(), SCH_TOOL_BASE< T >::frame(), BOARD_EDITOR_CONTROL::GenerateDrillFiles(), BOARD_EDITOR_CONTROL::GeneratePosFile(), GLOBAL_EDIT_TOOL::GlobalDeletions(), PCB_CONTROL::GridPlaceOrigin(), BOARD_EDITOR_CONTROL::ImportNetlist(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), GERBVIEW_SELECTION_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_EDITOR_CONTROL::Init(), PL_POINT_EDITOR::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GLOBAL_EDIT_TOOL::Migrate3DModels(), PCB_POINT_EDITOR::movePoint(), BOARD_EDITOR_CONTROL::OnAngleSnapModeChanged(), FOOTPRINT_EDITOR_CONTROL::OnAngleSnapModeChanged(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelative(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), FOOTPRINT_EDITOR_CONTROL::Properties(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), BITMAP2CMP_CONTROL::Reset(), BOARD_EDITOR_CONTROL::Reset(), BOARD_INSPECTION_TOOL::Reset(), BOARD_REANNOTATE_TOOL::Reset(), COMMON_CONTROL::Reset(), COMMON_TOOLS::Reset(), CVPCB_ASSOCIATION_TOOL::Reset(), CVPCB_CONTROL::Reset(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Reset(), DESIGN_BLOCK_CONTROL::Reset(), DRAWING_TOOL::Reset(), DRC_RULE_EDITOR_TOOL::Reset(), DRC_TOOL::Reset(), EDIT_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Reset(), GERBVIEW_CONTROL::Reset(), GERBVIEW_INSPECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), GROUP_TOOL::Reset(), KICAD_MANAGER_CONTROL::Reset(), LIBRARY_EDITOR_CONTROL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_DRAWING_TOOLS::Reset(), PL_EDIT_TOOL::Reset(), PL_EDITOR_CONTROL::Reset(), PL_POINT_EDITOR::Reset(), PL_SELECTION_TOOL::Reset(), SCH_SELECTION_TOOL::Reset(), SIMULATOR_CONTROL::Reset(), ZOOM_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Revert(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), SCH_SELECTION_TOOL::SelectMultiple(), BOARD_EDITOR_CONTROL::ToggleConstraintsPanel(), BOARD_EDITOR_CONTROL::ToggleLayersManager(), BOARD_EDITOR_CONTROL::ToggleLibraryTree(), BOARD_EDITOR_CONTROL::ToggleNetInspector(), BOARD_EDITOR_CONTROL::ToggleProperties(), BOARD_EDITOR_CONTROL::ToggleSearch(), PROPERTIES_TOOL::UpdateProperties(), ZONE_FILLER_TOOL::ZoneFillDirty(), and GLOBAL_EDIT_TOOL::ZonesManager().

◆ GetId()

TOOL_ID TOOL_BASE::GetId ( ) const
inlineinherited

Return the unique identifier of the tool.

The identifier is set by an instance of TOOL_MANAGER.

Returns
Identifier of the tool.

Definition at line 119 of file tool_base.h.

References m_toolId.

Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().

◆ GetManager()

◆ getMaxDiffPairGap()

◆ GetMode()

MODE DIFF_PHASE_SKEW_TOOL::GetMode ( ) const
inline

Return the current mode of the tool.

Definition at line 248 of file diff_phase_skew_tool.h.

References m_mode.

Referenced by doInitialHover(), and ShowDiffPhaseSkew().

◆ getModel()

◆ getModelInternal()

EDA_ITEM * TOOL_BASE::getModelInternal ( ) const
privateinherited

Definition at line 52 of file tool_base.cpp.

References m_toolMgr.

Referenced by getModel().

◆ GetName()

const std::string & TOOL_BASE::GetName ( ) const
inlineinherited

Return the name of the tool.

Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).

Returns
The name of the tool.

Definition at line 132 of file tool_base.h.

References m_toolName.

Referenced by PCB_CONTROL::AppendBoard(), TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), SCH_TOOL_BASE< SCH_BASE_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().

◆ getNearestDiffSegments()

std::pair< std::size_t, bool > DIFF_PHASE_SKEW_TOOL::getNearestDiffSegments ( const VECTOR2D & aCursorPos,
double aHitTestDistance ) const
protected

Determines the nearest points to the cursor from the diff segments.

Definition at line 1617 of file diff_phase_skew_tool.cpp.

References m_coupledDiffs, and m_selectedDiffs.

Referenced by doShowStatsAtCursor().

◆ getNetPaths()

◆ getOverlay()

void DIFF_PHASE_SKEW_TOOL::getOverlay ( )
protected

Ensures we have an active VIEW_OVERLAY to display the diff graphics.

Definition at line 1698 of file diff_phase_skew_tool.cpp.

References m_view, and m_viewOverlay.

Referenced by ShowDiffPhaseSkew().

◆ getToolHolderInternal()

TOOLS_HOLDER * TOOL_BASE::getToolHolderInternal ( ) const
privateinherited

Definition at line 46 of file tool_base.cpp.

References m_toolMgr.

Referenced by getEditFrame().

◆ GetToolMenu()

◆ GetType()

TOOL_TYPE TOOL_BASE::GetType ( ) const
inlineinherited

Return the type of the tool.

Returns
The type of the tool.

Definition at line 107 of file tool_base.h.

References m_type.

Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), TOOL_MANAGER::ShutdownTool(), and TOOL_MANAGER::ShutdownTool().

◆ getView()

KIGFX::VIEW * TOOL_BASE::getView ( ) const
protectedinherited

Return the instance of KIGFX::VIEW object used in the application.

It allows tools to draw.

Returns
The instance of KIGFX::VIEW.

Definition at line 34 of file tool_base.cpp.

References m_toolMgr.

Referenced by ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::CollectHits(), PCB_SELECTION_TOOL::CollectMultiple(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), PCB_SELECTION_TOOL::DragSelectionArea(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SCH_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PCB_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), SCH_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), CONSTRAINT_EDIT_TOOL::hitTestBadge(), PCB_SELECTION_TOOL::hitTestDistance(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PL_POINT_EDITOR::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), CONSTRAINT_EDIT_TOOL::pcbRenderSettings(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), GERBVIEW_CONTROL::ReloadAllLayers(), CONSTRAINT_EDIT_TOOL::repaintShadowItems(), BOARD_EDITOR_CONTROL::Reset(), CONSTRAINT_EDIT_TOOL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_POINT_EDITOR::Reset(), PNS::TOOL_BASE::Reset(), SCH_SELECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectConnection(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectLasso(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), DRAWING_TOOL::snapEventPosition(), SCH_SELECTION_TOOL::SyncSelection(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), SCH_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), SCH_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TEST_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), COMMON_TOOLS::ZoomFitBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL(), and SCH_SELECTION_TOOL::~SCH_SELECTION_TOOL().

◆ getViewControls()

KIGFX::VIEW_CONTROLS * TOOL_BASE::getViewControls ( ) const
protectedinherited

Return the instance of VIEW_CONTROLS object used in the application.

It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).

Returns
The instance of VIEW_CONTROLS.

Definition at line 40 of file tool_base.cpp.

References m_toolMgr.

Referenced by PCB_POINT_EDITOR::addCorner(), SCH_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TEST_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), EDIT_TOOL::copyToClipboard(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), COMMON_TOOLS::doZoomToPreset(), PCB_SELECTION_TOOL::DragSelectionArea(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_TOOL_BASE< T >::Increment(), EDIT_TOOL::Init(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Properties(), PL_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), MATCH_PROPERTIES_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_SELECTION_TOOL::selectCursor(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::SelectNode(), PCB_SELECTION_TOOL::SelectPolyArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PCB_PICKER_TOOL::setControls(), PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().

◆ Go()

template<class T>
void TOOL_INTERACTIVE::Go ( int(T::* aStateFunc )(const TOOL_EVENT &),
const TOOL_EVENT_LIST & aConditions = TOOL_EVENT( TC_ANY, TA_ANY ) )
inherited

Define which state (aStateFunc) to go when a certain event arrives (aConditions).

No conditions means any event.

Definition at line 143 of file tool_interactive.h.

References goInternal(), and T.

Referenced by ALIGN_DISTRIBUTE_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), CONSTRAINT_EDIT_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DIFF_PHASE_SKEW_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_RULE_EDITOR_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDA_3D_CONTROLLER::setTransitions(), EDIT_TOOL::setTransitions(), EMBED_TOOL::setTransitions(), FOOTPRINT_CHOOSER_SELECTION_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), FOOTPRINT_WIZARD_TOOLS::setTransitions(), GENERATOR_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GRAPHIC_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MATCH_PROPERTIES_TOOL::setTransitions(), MICROWAVE_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_DESIGN_BLOCK_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_TEST_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), VIA_STITCH_TOOL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().

◆ goInternal()

void TOOL_INTERACTIVE::goInternal ( TOOL_STATE_FUNC & aState,
const TOOL_EVENT_LIST & aConditions )
privateinherited

Definition at line 80 of file tool_interactive.cpp.

Referenced by Go().

◆ Init()

bool DIFF_PHASE_SKEW_TOOL::Init ( )
overridevirtual

Init() is called once upon a registration of the tool.

Returns
True if the initialization went fine, false - otherwise.

Reimplemented from PCB_TOOL_BASE.

Definition at line 71 of file diff_phase_skew_tool.cpp.

◆ interpolateColours()

COLOR4D DIFF_PHASE_SKEW_TOOL::interpolateColours ( const COLOR4D & aColour1,
const COLOR4D & aColour2,
double aS,
bool aUseLogScale ) const
protected

Linearly interpolates between colour1 and colour2, with interpolation point given by aS [0-1].

Definition at line 652 of file diff_phase_skew_tool.cpp.

References KIGFX::COLOR4D::a, KIGFX::COLOR4D::b, KIGFX::COLOR4D::g, lerp(), m_colourInterpolationLogStrength, and KIGFX::COLOR4D::r.

Referenced by buildDiffOverlaySegmentsImpl().

◆ Is45Limited()

bool PCB_TOOL_BASE::Is45Limited ( ) const
virtualinherited

Should the tool use its 45° mode option?

Returns
True if set to use 45°

Definition at line 369 of file pcb_tool_base.cpp.

References DIRECT, and GetAngleSnapMode().

Referenced by PCB_POINT_EDITOR::OnSelectionChange().

◆ Is90Limited()

bool PCB_TOOL_BASE::Is90Limited ( ) const
virtualinherited

Should the tool limit drawing to horizontal and vertical only?

Definition at line 374 of file pcb_tool_base.cpp.

References DEG90, and GetAngleSnapMode().

Referenced by PCB_POINT_EDITOR::OnSelectionChange(), and PCB_POINT_EDITOR::setAltConstraint().

◆ IsBoardEditor()

bool PCB_TOOL_BASE::IsBoardEditor ( ) const
inlineinherited

Definition at line 108 of file pcb_tool_base.h.

References m_isBoardEditor.

Referenced by makeMirrorRotateMenu().

◆ IsFootprintEditor()

◆ IsToolActive()

◆ lerp()

static VECTOR2D DIFF_PHASE_SKEW_TOOL::lerp ( const VECTOR2D aA,
const VECTOR2D aB,
const double aT )
inlinestaticprotected

Linear interpolate from point A to B at line fraction T.

Definition at line 341 of file diff_phase_skew_tool.h.

References VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by findParallelRunsImpl(), interpolateColours(), and pointAtDistance().

◆ normalisePathItems()

void DIFF_PHASE_SKEW_TOOL::normalisePathItems ( const PNS::ITEM_SET & aPath,
const PNS::SOLID * aStartPad )
staticprotected

◆ pointAtDistance()

std::pair< VECTOR2D, std::size_t > DIFF_PHASE_SKEW_TOOL::pointAtDistance ( const std::vector< CUMULATIVE_ENTRY > & aSegments,
const std::vector< LENGTH_DELAY_CALCULATION_ITEM > & aSourceItemDetails,
double aDist )
staticprotected

Returns the coordinate at the given linear distance along the line, along with the segment index the point belongs to.

Definition at line 608 of file diff_phase_skew_tool.cpp.

References EPS, GetLine(), and lerp().

Referenced by buildDiffOverlaySegmentsImpl().

◆ reportValidityErrors()

bool DIFF_PHASE_SKEW_TOOL::reportValidityErrors ( DIFF_PAIR_VALIDITY aDirection) const
protected

Report to the user any errors after determining the signal direction.

Returns
true if any errors reported, otherwise false

Definition at line 1332 of file diff_phase_skew_tool.cpp.

References _, m_coupledNetinfo, m_frame, m_selectedNetinfo, message, MULTIPLE_SOURCES_COUPLED_TRACK, MULTIPLE_SOURCES_SELECTED_TRACK, NO_SOURCE_PADS_COUPLED_TRACK, NO_SOURCE_PADS_SELECTED_TRACK, and NO_START_OR_END_PADS.

Referenced by doDisplayOverlay().

◆ Reset()

void DIFF_PHASE_SKEW_TOOL::Reset ( RESET_REASON aReason)
overridevirtual

Bring the tool to a known, initial state.

If the tool claimed anything from the model or the view, it must release it when its reset.

Parameters
aReasoncontains information about the reason of tool reset.

Reimplemented from PCB_TOOL_BASE.

Definition at line 77 of file diff_phase_skew_tool.cpp.

References PCB_TOOL_BASE::frame(), DRC_TOOL::GetDRCEngine(), TOOL_BASE::getModel(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), m_board, m_controls, m_drcEngine, m_frame, m_iface, PCBNEW_SETTINGS::m_PnsSettings, m_router, m_savedSizes, TOOL_BASE::m_toolMgr, m_view, resetStateVariables(), and TOOL_BASE::SHUTDOWN.

◆ resetStateVariables()

◆ resetTransitions()

void TOOL_INTERACTIVE::resetTransitions ( )
privateinherited

Clear the current transition map and restores the default one created by setTransitions().

Definition at line 73 of file tool_interactive.cpp.

◆ reversePath()

void DIFF_PHASE_SKEW_TOOL::reversePath ( PNS::ITEM_SET & aPath,
PNS::SOLID ** aStartPad,
PNS::SOLID ** aEndPad )
staticprotected

Reverses the direction of the selected and coupled paths (including swapping start / end pads.

Definition at line 1570 of file diff_phase_skew_tool.cpp.

References PNS::ITEM_SET::Add(), dyn_cast(), PNS::ITEM::LINE_T, PNS::ITEM_SET::rbegin(), PNS::ITEM_SET::rend(), and PNS::LINE::Reverse().

Referenced by determinePathDirections().

◆ RunMainStack()

void TOOL_INTERACTIVE::RunMainStack ( std::function< void()> aFunc)
inherited

◆ selection() [1/2]

PCB_SELECTION & PCB_TOOL_BASE::selection ( )
protectedinherited

Definition at line 361 of file pcb_tool_base.cpp.

References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.

◆ selection() [2/2]

const PCB_SELECTION & PCB_TOOL_BASE::selection ( ) const
protectedinherited

Definition at line 353 of file pcb_tool_base.cpp.

References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.

Referenced by CONSTRAINT_EDIT_TOOL::AddConstraint(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::copyToClipboardAsText(), ARRAY_TOOL::CreateArray(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), EDIT_TOOL::EditVertices(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), DRAWING_TOOL::getSourceZoneForAction(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), EDIT_TOOL::Increment(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::JustifyText(), PCB_CONTROL::LayerPresetFeedback(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ROUTER_TOOL::MainLoop(), MATCH_PROPERTIES_TOOL::Match(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), PCB_CONTROL::SaveToLinkedDesignBlock(), CONVERT_TOOL::SegmentToArc(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), and BOARD_EDITOR_CONTROL::ZonePriorityRaise().

◆ SetContextMenu()

void TOOL_INTERACTIVE::SetContextMenu ( ACTION_MENU * aMenu,
CONTEXT_MENU_TRIGGER aTrigger = CMENU_BUTTON )
inherited

Assign a context menu and tells when it should be activated.

Parameters
aMenuis the menu to be assigned.
aTriggerdetermines conditions upon which the context menu is activated.

Definition at line 91 of file tool_interactive.cpp.

References CMENU_OFF, TOOL_BASE::m_toolMgr, and ACTION_MENU::SetTool().

Referenced by SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::DrawVia(), and PCB_SELECTION_TOOL::Main().

◆ SetIsBoardEditor()

void PCB_TOOL_BASE::SetIsBoardEditor ( bool aEnabled)
inlineinherited

Definition at line 107 of file pcb_tool_base.h.

References m_isBoardEditor.

◆ SetIsFootprintEditor()

void PCB_TOOL_BASE::SetIsFootprintEditor ( bool aEnabled)
inlineinherited

Toggle edit footprint mode.

When enabled, one may select parts of footprints individually (graphics, pads, etc.), so they can be modified.

Parameters
aEnableddecides if the mode should be enabled.

Definition at line 104 of file pcb_tool_base.h.

References m_isFootprintEditor.

◆ SetMode()

void DIFF_PHASE_SKEW_TOOL::SetMode ( const MODE aMode)
inline

Set the current mode of the tool.

Definition at line 251 of file diff_phase_skew_tool.h.

References m_mode.

Referenced by doDisplayOverlay(), and ShowDiffPhaseSkew().

◆ setTransitions()

void DIFF_PHASE_SKEW_TOOL::setTransitions ( )
overrideprotectedvirtual

Set up handlers for tool events.

Reimplemented from PCB_TOOL_BASE.

Definition at line 1690 of file diff_phase_skew_tool.cpp.

References TOOL_INTERACTIVE::Go(), ShowDiffPhaseSkew(), and PCB_ACTIONS::showDiffPhaseSkew.

◆ ShowDiffPhaseSkew()

◆ splitLengthItems()

void DIFF_PHASE_SKEW_TOOL::splitLengthItems ( std::vector< LENGTH_DELAY_CALCULATION_ITEM > & aItems)
staticprotected

◆ updateMessagePanel()

◆ updateNetHighlights()

void DIFF_PHASE_SKEW_TOOL::updateNetHighlights ( bool aRefresh = true) const
protected

Highlight nets when in MODE::HOVER and we have active nets in scope.

Definition at line 1667 of file diff_phase_skew_tool.cpp.

References m_frame, m_netcodeN, m_netcodeP, m_pickerItemFirst, m_pickerItemFirstIsDiffPair, m_pickerItemSecond, and KIGFX::RENDER_SETTINGS::SetHighlight().

Referenced by doInitialHover(), and ShowDiffPhaseSkew().

◆ updateOverlay()

void DIFF_PHASE_SKEW_TOOL::updateOverlay ( ) const
protected

Refreshes the VIEW_OVERLAY in the active VIEW.

Definition at line 1718 of file diff_phase_skew_tool.cpp.

References m_view, and m_viewOverlay.

Referenced by clearOverlay(), and drawDiffOverlay().

◆ view()

◆ Wait()

TOOL_EVENT * TOOL_INTERACTIVE::Wait ( const TOOL_EVENT_LIST & aEventList = TOOL_EVENT( TC_ANY, TA_ANY ))
inherited

Suspend execution of the tool until an event specified in aEventList arrives.

No parameters means waiting for any event.

Definition at line 67 of file tool_interactive.cpp.

References TOOL_BASE::m_toolMgr.

Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::DragSelectionArea(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), and DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew().

Member Data Documentation

◆ m_board

BOARD* DIFF_PHASE_SKEW_TOOL::m_board { nullptr }
private

◆ m_colourInterpolationLogStrength

double DIFF_PHASE_SKEW_TOOL::m_colourInterpolationLogStrength { 9.0 }
private

Definition at line 497 of file diff_phase_skew_tool.h.

Referenced by DIFF_PHASE_SKEW_TOOL(), and interpolateColours().

◆ m_controls

KIGFX::VIEW_CONTROLS* DIFF_PHASE_SKEW_TOOL::m_controls { nullptr }
private

Definition at line 429 of file diff_phase_skew_tool.h.

Referenced by Reset().

◆ m_cosThetaParallelTestValue

double DIFF_PHASE_SKEW_TOOL::m_cosThetaParallelTestValue { 0.9999 }
private

Definition at line 496 of file diff_phase_skew_tool.h.

Referenced by DIFF_PHASE_SKEW_TOOL(), and findParallelRunsImpl().

◆ m_coupledCumulative

std::vector<CUMULATIVE_ENTRY> DIFF_PHASE_SKEW_TOOL::m_coupledCumulative
private

◆ m_coupledDiffs

std::vector<OUTPUT_SEGMENT> DIFF_PHASE_SKEW_TOOL::m_coupledDiffs
private

◆ m_coupledEndPad

PNS::SOLID* DIFF_PHASE_SKEW_TOOL::m_coupledEndPad { nullptr }
private

◆ m_coupledKnownPoints

std::vector<KNOWN_RELATIVE_POINT> DIFF_PHASE_SKEW_TOOL::m_coupledKnownPoints
private

Definition at line 482 of file diff_phase_skew_tool.h.

Referenced by buildDiffOverlaySegments(), and buildKnownRelativePoints().

◆ m_coupledLengthDelayDetails

LENGTH_DELAY_ITEM_DETAILS DIFF_PHASE_SKEW_TOOL::m_coupledLengthDelayDetails
private

◆ m_coupledLengthDelayItems

std::vector<LENGTH_DELAY_CALCULATION_ITEM> DIFF_PHASE_SKEW_TOOL::m_coupledLengthDelayItems
private

◆ m_coupledNetcode

int DIFF_PHASE_SKEW_TOOL::m_coupledNetcode { 0 }
private

Definition at line 454 of file diff_phase_skew_tool.h.

Referenced by getNetPaths(), and resetStateVariables().

◆ m_coupledNetinfo

NETINFO_ITEM* DIFF_PHASE_SKEW_TOOL::m_coupledNetinfo { nullptr }
private

◆ m_coupledPath

PNS::ITEM_SET DIFF_PHASE_SKEW_TOOL::m_coupledPath
private

◆ m_coupledStartEndDetails

START_END_DETAILS DIFF_PHASE_SKEW_TOOL::m_coupledStartEndDetails
private

◆ m_coupledStartPad

PNS::SOLID* DIFF_PHASE_SKEW_TOOL::m_coupledStartPad { nullptr }
private

◆ m_cursorPos

VECTOR2D DIFF_PHASE_SKEW_TOOL::m_cursorPos
private

Definition at line 435 of file diff_phase_skew_tool.h.

Referenced by doInitialHover(), doShowStatsAtCursor(), and ShowDiffPhaseSkew().

◆ m_drcEngine

std::shared_ptr<DRC_ENGINE> DIFF_PHASE_SKEW_TOOL::m_drcEngine { nullptr }
private

Definition at line 432 of file diff_phase_skew_tool.h.

Referenced by doInitialHover(), getMaxDiffPairGap(), and Reset().

◆ m_frame

◆ m_iface

PNS_KICAD_IFACE* DIFF_PHASE_SKEW_TOOL::m_iface { nullptr }
private

Definition at line 449 of file diff_phase_skew_tool.h.

Referenced by buildLengthDelayItems(), getNetPaths(), and Reset().

◆ m_inDiffPhaseSkewTool

bool DIFF_PHASE_SKEW_TOOL::m_inDiffPhaseSkewTool { false }
private

Definition at line 434 of file diff_phase_skew_tool.h.

Referenced by ShowDiffPhaseSkew().

◆ m_isBoardEditor

bool PCB_TOOL_BASE::m_isBoardEditor
protectedinherited

◆ m_isFootprintEditor

◆ m_maxSkew

std::optional<int> DIFF_PHASE_SKEW_TOOL::m_maxSkew
private

◆ m_menu

std::unique_ptr<TOOL_MENU> TOOL_INTERACTIVE::m_menu
protectedinherited

The functions below are not yet implemented - their interface may change.

Definition at line 121 of file tool_interactive.h.

Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), GetToolMenu(), BOARD_EDITOR_CONTROL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), EDA_3D_CONTROLLER::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GERBVIEW_SELECTION_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), ZOOM_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().

◆ m_mode

MODE DIFF_PHASE_SKEW_TOOL::m_mode { MODE::HOVER }
private

Definition at line 433 of file diff_phase_skew_tool.h.

Referenced by GetMode(), and SetMode().

◆ m_netcodeN

int DIFF_PHASE_SKEW_TOOL::m_netcodeN { 0 }
private

◆ m_netcodeP

int DIFF_PHASE_SKEW_TOOL::m_netcodeP { 0 }
private

◆ m_originFirst

VECTOR2I DIFF_PHASE_SKEW_TOOL::m_originFirst
private

◆ m_originSecond

VECTOR2I DIFF_PHASE_SKEW_TOOL::m_originSecond
private

◆ m_overlayTrackInflation

double DIFF_PHASE_SKEW_TOOL::m_overlayTrackInflation { 1.1 }
private

Definition at line 494 of file diff_phase_skew_tool.h.

Referenced by buildDiffOverlaySegmentsImpl(), and DIFF_PHASE_SKEW_TOOL().

◆ m_pickerItemFirst

BOARD_CONNECTED_ITEM* DIFF_PHASE_SKEW_TOOL::m_pickerItemFirst { nullptr }
private

◆ m_pickerItemFirstIsDiffPair

bool DIFF_PHASE_SKEW_TOOL::m_pickerItemFirstIsDiffPair { false }
private

◆ m_pickerItemSecond

BOARD_CONNECTED_ITEM* DIFF_PHASE_SKEW_TOOL::m_pickerItemSecond { nullptr }
private

◆ m_router

PNS::ROUTER* DIFF_PHASE_SKEW_TOOL::m_router { nullptr }
private

Definition at line 448 of file diff_phase_skew_tool.h.

Referenced by getNetPaths(), and Reset().

◆ m_savedSizes

PNS::SIZES_SETTINGS DIFF_PHASE_SKEW_TOOL::m_savedSizes
private

Definition at line 450 of file diff_phase_skew_tool.h.

Referenced by Reset().

◆ m_segmentForStatisticsDisplay

std::pair<std::size_t, bool> DIFF_PHASE_SKEW_TOOL::m_segmentForStatisticsDisplay { std::numeric_limits<std::size_t>::max(), false }
private

◆ m_selectedCumulative

std::vector<CUMULATIVE_ENTRY> DIFF_PHASE_SKEW_TOOL::m_selectedCumulative
private

◆ m_selectedDiffs

std::vector<OUTPUT_SEGMENT> DIFF_PHASE_SKEW_TOOL::m_selectedDiffs
private

◆ m_selectedEndPad

PNS::SOLID* DIFF_PHASE_SKEW_TOOL::m_selectedEndPad { nullptr }
private

◆ m_selectedKnownPoints

std::vector<KNOWN_RELATIVE_POINT> DIFF_PHASE_SKEW_TOOL::m_selectedKnownPoints
private

Definition at line 481 of file diff_phase_skew_tool.h.

Referenced by buildDiffOverlaySegments(), and buildKnownRelativePoints().

◆ m_selectedLengthDelayDetails

LENGTH_DELAY_ITEM_DETAILS DIFF_PHASE_SKEW_TOOL::m_selectedLengthDelayDetails
private

◆ m_selectedLengthDelayItems

std::vector<LENGTH_DELAY_CALCULATION_ITEM> DIFF_PHASE_SKEW_TOOL::m_selectedLengthDelayItems
private

◆ m_selectedNetcode

int DIFF_PHASE_SKEW_TOOL::m_selectedNetcode { 0 }
private

Definition at line 453 of file diff_phase_skew_tool.h.

Referenced by getNetPaths(), and resetStateVariables().

◆ m_selectedNetinfo

NETINFO_ITEM* DIFF_PHASE_SKEW_TOOL::m_selectedNetinfo { nullptr }
private

◆ m_selectedPath

PNS::ITEM_SET DIFF_PHASE_SKEW_TOOL::m_selectedPath
private

◆ m_selectedStartEndDetails

START_END_DETAILS DIFF_PHASE_SKEW_TOOL::m_selectedStartEndDetails
private

◆ m_selectedStartPad

PNS::SOLID* DIFF_PHASE_SKEW_TOOL::m_selectedStartPad { nullptr }
private

◆ m_targetDiffSegmentSize

double DIFF_PHASE_SKEW_TOOL::m_targetDiffSegmentSize { 50000.0 }
private

Definition at line 498 of file diff_phase_skew_tool.h.

Referenced by DIFF_PHASE_SKEW_TOOL(), and doDisplayOverlay().

◆ m_timeDomain

bool DIFF_PHASE_SKEW_TOOL::m_timeDomain { false }
private

◆ m_toolId

TOOL_ID TOOL_BASE::m_toolId
protectedinherited

Unique id, assigned by a TOOL_MANAGER instance.

Definition at line 215 of file tool_base.h.

Referenced by TOOL_INTERACTIVE::Activate(), GetId(), IsToolActive(), and TOOL_BASE().

◆ m_toolMgr

TOOL_MANAGER* TOOL_BASE::m_toolMgr
protectedinherited

Definition at line 220 of file tool_base.h.

Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), GROUP_TOOL::AddToGroup(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), attachManager(), SCH_SELECTION_TOOL::autostartEvent(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), BOARD_EDITOR_CONTROL::ChangeLineMode(), FOOTPRINT_EDITOR_CONTROL::ChangeLineMode(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), ROUTER_TOOL::commitPendingViaStack(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), PCB_SELECTION_TOOL::DragSelectionArea(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::drawManagedShape(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PCB_SELECTION_TOOL::EnterGroup(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), VIA_STITCH_TOOL::ExcludeStitchVia(), KICAD_MANAGER_CONTROL::Execute(), PCB_SELECTION_TOOL::ExitGroup(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), EDA_3D_CONTROLLER::ExportImage(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetManager(), getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), getToolHolderInternal(), PCB_EDIT_TABLE_TOOL::getToolMgr(), getView(), getViewControls(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), PCB_GROUP_TOOL::Group(), SCH_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::HighContrastModeCycle(), CONSTRAINT_EDIT_TOOL::HighlightConstraintMembers(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONSTRAINT_EDIT_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GRAPHIC_EDIT_TOOL::Init(), GROUP_TOOL::Init(), MATCH_PROPERTIES_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), VIA_STITCH_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GENERATOR_TOOL::MakeViaStackFromSelection(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_VIEWER_TOOLS::NextLineMode(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceSubGrid(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), ZONE_FILLER_TOOL::regenerateDirtyGenerators(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), EDIT_TOOL::reSolveConstraintsAfterEdit(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), PL_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectChartRow(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), PCB_SELECTION_TOOL::selectNetChain(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), PCB_SELECTION_TOOL::SetSelectPoly(), SCH_SELECTION_TOOL::SetSelectPoly(), PCB_SELECTION_TOOL::SetSelectRect(), SCH_SELECTION_TOOL::SetSelectRect(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), DRAWING_TOOL::snapEventPosition(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDIT_TOOL::ToggleFootprintAttribute(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), PCB_SELECTION_TOOL::toggleTableCellSelection(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), and ZONE_FILLER_TOOL::ZoneUnfill().

◆ m_toolName

std::string TOOL_BASE::m_toolName
protectedinherited

Names are expected to obey the format application.ToolName (eg.

pcbnew.InteractiveSelection).

Definition at line 219 of file tool_base.h.

Referenced by GetName(), and TOOL_BASE().

◆ m_trackGapInflation

double DIFF_PHASE_SKEW_TOOL::m_trackGapInflation { 1.2 }
private

Definition at line 495 of file diff_phase_skew_tool.h.

Referenced by DIFF_PHASE_SKEW_TOOL(), and findParallelRunsImpl().

◆ m_type

TOOL_TYPE TOOL_BASE::m_type
protectedinherited

Definition at line 214 of file tool_base.h.

Referenced by GetType(), and TOOL_BASE().

◆ m_view

KIGFX::VIEW* DIFF_PHASE_SKEW_TOOL::m_view { nullptr }
private

◆ m_viewOverlay

std::shared_ptr<KIGFX::VIEW_OVERLAY> DIFF_PHASE_SKEW_TOOL::m_viewOverlay { nullptr }
private

Definition at line 428 of file diff_phase_skew_tool.h.

Referenced by clearOverlay(), drawDiffOverlay(), getOverlay(), and updateOverlay().


The documentation for this class was generated from the following files: