KiCad PCB EDA Suite
|
Information pertinent to a Pcbnew printed circuit board. More...
#include <board.h>
Classes | |
struct | cmp_drawings |
struct | cmp_items |
struct | GroupLegalOpsField |
Public Member Functions | |
void | SetBoardUse (BOARD_USE aUse) |
Set what the board is going to be used for. More... | |
BOARD_USE | GetBoardUse () const |
Get what the board use is. More... | |
void | IncrementTimeStamp () |
int | GetTimeStamp () const |
bool | IsFootprintHolder () const |
Find out if the board is being used to hold a single footprint for editing/viewing. More... | |
void | SetFileName (const wxString &aFileName) |
const wxString & | GetFileName () const |
TRACKS & | Tracks () |
const TRACKS & | Tracks () const |
FOOTPRINTS & | Footprints () |
const FOOTPRINTS & | Footprints () const |
DRAWINGS & | Drawings () |
const DRAWINGS & | Drawings () const |
ZONES & | Zones () |
const ZONES & | Zones () const |
MARKERS & | Markers () |
const MARKERS & | Markers () const |
GROUPS & | Groups () |
The groups must maintain the following invariants. More... | |
const GROUPS & | Groups () const |
const std::vector< BOARD_CONNECTED_ITEM * > | AllConnectedItems () |
const std::map< wxString, wxString > & | GetProperties () const |
void | SetProperties (const std::map< wxString, wxString > &aProps) |
bool | ResolveTextVar (wxString *token, int aDepth) const |
BOARD () | |
~BOARD () | |
VECTOR2I | GetPosition () const override |
void | SetPosition (const VECTOR2I &aPos) override |
const VECTOR2I | GetFocusPosition () const override |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
bool | IsEmpty () const |
void | Move (const VECTOR2I &aMoveVector) override |
Move this object. More... | |
void | SetFileFormatVersionAtLoad (int aVersion) |
int | GetFileFormatVersionAtLoad () const |
void | SetGenerator (const wxString &aGenerator) |
const wxString & | GetGenerator () const |
Adds an item to the container. More... | |
void | Add (BOARD_ITEM *aItem, ADD_MODE aMode=ADD_MODE::INSERT, bool aSkipConnectivity=false) override |
Removes an item from the container. More... | |
void | Remove (BOARD_ITEM *aBoardItem, REMOVE_MODE aMode=REMOVE_MODE::NORMAL) override |
Removes an item from the container. More... | |
void | FinalizeBulkAdd (std::vector< BOARD_ITEM * > &aNewItems) |
Must be used if Add() is used using a BULK_x ADD_MODE to generate a change event for listeners. More... | |
void | FinalizeBulkRemove (std::vector< BOARD_ITEM * > &aRemovedItems) |
Must be used if Remove() is used using a BULK_x REMOVE_MODE to generate a change event for listeners. More... | |
void | CacheTriangulation (PROGRESS_REPORTER *aReporter=nullptr, const std::vector< ZONE * > &aZones={}) |
FOOTPRINT * | GetFirstFootprint () const |
Get the first footprint on the board or nullptr. More... | |
void | DeleteAllFootprints () |
Remove all footprints from the deque and free the memory associated with them. More... | |
BOARD_ITEM * | GetItem (const KIID &aID) const |
void | FillItemMap (std::map< KIID, EDA_ITEM * > &aMap) |
wxString | ConvertCrossReferencesToKIIDs (const wxString &aSource) const |
Convert cross-references back and forth between ${refDes:field} and ${kiid:field}. More... | |
wxString | ConvertKIIDsToCrossReferences (const wxString &aSource) const |
std::shared_ptr< CONNECTIVITY_DATA > | GetConnectivity () const |
Return a list of missing connections between components/tracks. More... | |
bool | BuildConnectivity (PROGRESS_REPORTER *aReporter=nullptr) |
Build or rebuild the board connectivity database for the board, especially the list of connected items, list of nets and rastnest data Needed after loading a board to have the connectivity database updated. More... | |
void | DeleteMARKERs () |
Delete all MARKERS from the board. More... | |
void | DeleteMARKERs (bool aWarningsAndErrors, bool aExclusions) |
PROJECT * | GetProject () const |
void | SetProject (PROJECT *aProject, bool aReferenceOnly=false) |
Link a board to a given project. More... | |
void | ClearProject () |
std::vector< PCB_MARKER * > | ResolveDRCExclusions () |
Rebuild DRC markers from the serialized data in BOARD_DESIGN_SETTINGS. More... | |
void | UpdateRatsnestExclusions () |
Update the visibility flags on the current unconnected ratsnest lines. More... | |
void | ResetNetHighLight () |
Reset all high light data to the init state. More... | |
const std::set< int > & | GetHighLightNetCodes () const |
void | SetHighLightNet (int aNetCode, bool aMulti=false) |
Select the netcode to be highlighted. More... | |
bool | IsHighLightNetON () const |
void | HighLightON (bool aValue=true) |
Enable or disable net highlighting. More... | |
void | HighLightOFF () |
Disable net highlight. More... | |
int | GetCopperLayerCount () const |
void | SetCopperLayerCount (int aCount) |
int | LayerDepth (PCB_LAYER_ID aStartLayer, PCB_LAYER_ID aEndLayer) const |
LSET | GetEnabledLayers () const |
A proxy function that calls the corresponding function in m_BoardSettings. More... | |
void | SetEnabledLayers (LSET aLayerMask) |
A proxy function that calls the correspondent function in m_BoardSettings. More... | |
bool | IsLayerEnabled (PCB_LAYER_ID aLayer) const |
A proxy function that calls the correspondent function in m_BoardSettings tests whether a given layer is enabled. More... | |
bool | IsLayerVisible (PCB_LAYER_ID aLayer) const |
A proxy function that calls the correspondent function in m_BoardSettings tests whether a given layer is visible. More... | |
LSET | GetVisibleLayers () const |
A proxy function that calls the correspondent function in m_BoardSettings. More... | |
void | SetVisibleLayers (LSET aLayerMask) |
A proxy function that calls the correspondent function in m_BoardSettings changes the bit-mask of visible layers. More... | |
GAL_SET | GetVisibleElements () const |
Return a set of all the element categories that are visible. More... | |
void | SetVisibleElements (const GAL_SET &aMask) |
A proxy function that calls the correspondent function in m_BoardSettings. More... | |
void | SetVisibleAlls () |
Change the bit-mask of visible element categories and layers. More... | |
bool | IsElementVisible (GAL_LAYER_ID aLayer) const |
Test whether a given element category is visible. More... | |
void | SetElementVisibility (GAL_LAYER_ID aLayer, bool aNewState) |
Change the visibility of an element category. More... | |
bool | IsFootprintLayerVisible (PCB_LAYER_ID aLayer) const |
Expect either of the two layers on which a footprint can reside, and returns whether that layer is visible. More... | |
BOARD_DESIGN_SETTINGS & | GetDesignSettings () const |
const ZONE_SETTINGS & | GetZoneSettings () const override |
Fetch the zone settings for this container. More... | |
void | SetZoneSettings (const ZONE_SETTINGS &aSettings) override |
Set the zone settings for this container. More... | |
bool | GetTentVias () const |
void | SetTentVias (bool aFlag) |
const PAGE_INFO & | GetPageSettings () const |
void | SetPageSettings (const PAGE_INFO &aPageSettings) |
const PCB_PLOT_PARAMS & | GetPlotOptions () const |
void | SetPlotOptions (const PCB_PLOT_PARAMS &aOptions) |
TITLE_BLOCK & | GetTitleBlock () |
const TITLE_BLOCK & | GetTitleBlock () const |
void | SetTitleBlock (const TITLE_BLOCK &aTitleBlock) |
wxString | GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override |
Return a user-visible description string of this item. More... | |
bool | GetBoardPolygonOutlines (SHAPE_POLY_SET &aOutlines, OUTLINE_ERROR_HANDLER *aErrorHandler=nullptr) |
Extract the board outlines and build a closed polygon from lines, arcs and circle items on edge cut layer. More... | |
void | ConvertBrdLayerToPolygonalContours (PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aOutlines) const |
Build a set of polygons which are the outlines of copper items (pads, tracks, vias, texts, zones). More... | |
const PCB_LAYER_ID | GetLayerID (const wxString &aLayerName) const |
Return the ID of a layer. More... | |
const wxString | GetLayerName (PCB_LAYER_ID aLayer) const |
Return the name of a aLayer. More... | |
bool | SetLayerName (PCB_LAYER_ID aLayer, const wxString &aLayerName) |
Changes the name of the layer given by aLayer. More... | |
bool | SetLayerDescr (PCB_LAYER_ID aIndex, const LAYER &aLayer) |
Return the type of the copper layer given by aLayer. More... | |
LAYER_T | GetLayerType (PCB_LAYER_ID aLayer) const |
Return the type of the copper layer given by aLayer. More... | |
bool | SetLayerType (PCB_LAYER_ID aLayer, LAYER_T aLayerType) |
Change the type of the layer given by aLayer. More... | |
unsigned | GetNodesCount (int aNet=-1) const |
const std::vector< PAD * > | GetPads () const |
Return a reference to a list of all the pads. More... | |
void | BuildListOfNets () |
NETINFO_ITEM * | FindNet (int aNetcode) const |
Search for a net with the given netcode. More... | |
NETINFO_ITEM * | FindNet (const wxString &aNetname) const |
Search for a net with the given name. More... | |
const NETINFO_LIST & | GetNetInfo () const |
NETINFO_LIST & | GetNetInfo () |
NETINFO_LIST::iterator | BeginNets () const |
NETINFO_LIST::iterator | EndNets () const |
unsigned | GetNetCount () const |
BOX2I | ComputeBoundingBox (bool aBoardEdgesOnly=false) const |
Calculate the bounding box containing all board items (or board edge segments). More... | |
const BOX2I | GetBoundingBox () const override |
Return the orthogonal bounding box of this object for display purposes. More... | |
const BOX2I | GetBoardEdgesBoundingBox () const |
Return the board bounding box calculated using exclusively the board edges (graphics on Edge.Cuts layer). More... | |
void | GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes. More... | |
INSPECT_RESULT | Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) override |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
FOOTPRINT * | FindFootprintByReference (const wxString &aReference) const |
Search for a FOOTPRINT within this board with the given reference designator. More... | |
FOOTPRINT * | FindFootprintByPath (const KIID_PATH &aPath) const |
Search for a FOOTPRINT within this board with the given path. More... | |
std::set< wxString > | GetNetClassAssignmentCandidates () const |
Return the set of netname candidates for netclass assignment. More... | |
void | SynchronizeNetsAndNetClasses (bool aResetTrackAndViaSizes) |
Copy NETCLASS info to each NET, based on NET membership in a NETCLASS. More... | |
void | SynchronizeProperties () |
Copy the current project's text variables into the boards property cache. More... | |
wxString | GetClass () const override |
Return the class name. More... | |
int | SetAreasNetCodesFromNetNames () |
Set the .m_NetCode member of all copper areas, according to the area Net Name The SetNetCodesFromNetNames is an equivalent to net name, for fast comparisons. More... | |
ZONE * | GetArea (int index) const |
Return the Zone at a given index. More... | |
std::list< ZONE * > | GetZoneList (bool aIncludeZonesInFootprints=false) const |
int | GetAreaCount () const |
ZONE * | AddArea (PICKED_ITEMS_LIST *aNewZonesList, int aNetcode, PCB_LAYER_ID aLayer, VECTOR2I aStartPointPosition, ZONE_BORDER_DISPLAY_STYLE aHatch) |
Add an empty copper area to board areas list. More... | |
bool | TestZoneIntersection (ZONE *aZone1, ZONE *aZone2) |
Test for intersection of 2 copper areas. More... | |
PAD * | GetPad (const VECTOR2I &aPosition, LSET aLayerMask) const |
Find a pad aPosition on aLayer. More... | |
PAD * | GetPad (const VECTOR2I &aPosition) const |
PAD * | GetPad (const PCB_TRACK *aTrace, ENDPOINT_T aEndPoint) const |
Find a pad connected to aEndPoint of aTrace. More... | |
PAD * | GetPadFast (const VECTOR2I &aPosition, LSET aLayerMask) const |
Return pad found at aPosition on aLayerMask using the fast search method. More... | |
PAD * | GetPad (std::vector< PAD * > &aPadList, const VECTOR2I &aPosition, LSET aLayerMask) const |
Locate the pad connected at aPosition on aLayer starting at list position aPad. More... | |
void | GetSortedPadListByXthenYCoord (std::vector< PAD * > &aVector, int aNetCode=-1) const |
First empties then fills the vector with all pads and sorts them by increasing x coordinate, and for increasing y coordinate for same values of x coordinates. More... | |
std::tuple< int, double, double > | GetTrackLength (const PCB_TRACK &aTrack) const |
Return data on the length and number of track segments connected to a given track. More... | |
TRACKS | TracksInNet (int aNetCode) |
Collect all the TRACKs and VIAs that are members of a net given by aNetCode. More... | |
FOOTPRINT * | GetFootprint (const VECTOR2I &aPosition, PCB_LAYER_ID aActiveLayer, bool aVisibleOnly, bool aIgnoreLocked=false) const |
Get a footprint by its bounding rectangle at aPosition on aLayer. More... | |
void | MapNets (const BOARD *aDestBoard) |
Map all nets in the given board to nets with the same name (if any) in the destination board. More... | |
void | SanitizeNetcodes () |
void | AddListener (BOARD_LISTENER *aListener) |
Add a listener to the board to receive calls whenever something on the board has been modified. More... | |
void | RemoveListener (BOARD_LISTENER *aListener) |
Remove the specified listener. More... | |
void | RemoveAllListeners () |
Remove all listeners. More... | |
void | OnItemChanged (BOARD_ITEM *aItem) |
Notify the board and its listeners that an item on the board has been modified in some way. More... | |
void | OnItemsChanged (std::vector< BOARD_ITEM * > &aItems) |
Notify the board and its listeners that an item on the board has been modified in some way. More... | |
wxString | GroupsSanityCheck (bool repair=false) |
Consistency check of internal m_groups structure. More... | |
wxString | GroupsSanityCheckInternal (bool repair) |
GroupLegalOpsField | GroupLegalOps (const PCB_SELECTION &selection) const |
Check which selection tool group operations are legal given the selection. More... | |
virtual void | Delete (BOARD_ITEM *aItem) |
Removes an item from the container and deletes it. More... | |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual VECTOR2I | GetCenter () const |
This defaults to the center of the bounding box if not overridden. More... | |
void | SetX (int aX) |
void | SetY (int aY) |
virtual bool | IsConnected () const |
Returns information if the object is derived from BOARD_CONNECTED_ITEM. More... | |
virtual bool | IsOnCopperLayer () const |
virtual bool | HasHole () const |
virtual bool | IsTented () const |
virtual std::shared_ptr< SHAPE > | GetEffectiveShape (PCB_LAYER_ID aLayer=UNDEFINED_LAYER, FLASHING aFlash=FLASHING::DEFAULT) const |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes. More... | |
virtual std::shared_ptr< SHAPE_SEGMENT > | GetEffectiveHoleShape () const |
BOARD_ITEM_CONTAINER * | GetParent () const |
BOARD_ITEM_CONTAINER * | GetParentFootprint () const |
virtual bool | HasLineStroke () const |
Check if this item has line stoke properties. More... | |
virtual STROKE_PARAMS | GetStroke () const |
virtual void | SetStroke (const STROKE_PARAMS &aStroke) |
virtual PCB_LAYER_ID | GetLayer () const |
Return the primary layer this item is on. More... | |
virtual LSET | GetLayerSet () const |
Return a std::bitset of all layers on which the item physically resides. More... | |
virtual void | SetLayerSet (LSET aLayers) |
virtual void | SetLayer (PCB_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of this BOARD_ITEM. More... | |
void | SwapItemData (BOARD_ITEM *aImage) |
Swap data between aItem and aImage. More... | |
virtual bool | IsOnLayer (PCB_LAYER_ID aLayer) const |
Test to see if this object is on the given layer. More... | |
virtual bool | IsKnockout () const |
virtual void | SetIsKnockout (bool aKnockout) |
virtual bool | IsLocked () const |
virtual void | SetLocked (bool aLocked) |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
virtual void | Rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) |
Rotate this object. More... | |
virtual void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) |
Flip this object, i.e. More... | |
virtual const BOARD * | GetBoard () const |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none. More... | |
virtual BOARD * | GetBoard () |
wxString | GetLayerName () const |
Return the name of the PCB layer on which the item resides. More... | |
virtual void | ViewGetLayers (int aLayers[], int &aCount) const override |
Return the all the layers within the VIEW the object is painted on. More... | |
virtual void | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const |
Convert the item shape to a closed polygon. More... | |
KICAD_T | Type () const |
Returns the type of object. More... | |
virtual void | SetParent (EDA_ITEM *aParent) |
bool | IsModified () const |
bool | IsNew () const |
bool | IsMoving () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsBrightened () const |
bool | IsRollover () const |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (EDA_ITEM_FLAGS type) const |
void | SetState (EDA_ITEM_FLAGS type, bool state) |
EDA_ITEM_FLAGS | GetStatus () const |
void | SetStatus (EDA_ITEM_FLAGS aStatus) |
void | SetFlags (EDA_ITEM_FLAGS aMask) |
void | XorFlags (EDA_ITEM_FLAGS aMask) |
void | ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
EDA_ITEM_FLAGS | GetFlags () const |
bool | HasFlag (EDA_ITEM_FLAGS aFlag) const |
EDA_ITEM_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
virtual bool | RenderAsBitmap (double aWorldScale) const |
void | SetIsShownAsBitmap (bool aBitmap) |
bool | IsShownAsBitmap () const |
virtual bool | IsType (const std::vector< KICAD_T > &aScanTypes) const |
Check whether the item is one of the listed types. More... | |
void | SetForceVisible (bool aEnable) |
Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible. More... | |
bool | IsForceVisible () const |
virtual wxString | GetFriendlyName () const |
virtual bool | HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const |
Test if aPosition is inside or on the boundary of this item. More... | |
virtual bool | HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const |
Test if aRect intersects this item. More... | |
virtual VECTOR2I | GetSortPosition () const |
Return the coordinates that should be used for sorting this element visually compared to other elements. More... | |
virtual EDA_ITEM * | Clone () const |
Create a duplicate of this item with linked list members set to NULL. More... | |
wxString | GetTypeDesc () const |
Return a translated description of the type for this EDA_ITEM for display in user facing messages. More... | |
virtual BITMAPS | GetMenuImage () const |
Return a pointer to an image to be used in menus. More... | |
virtual bool | Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
virtual double | ViewGetLOD (int aLayer, VIEW *aView) const |
Return the level of detail (LOD) of the item. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Static Public Member Functions | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static wxString | GetStandardLayerName (PCB_LAYER_ID aLayerId) |
Return an "English Standard" name of a PCB layer when given aLayerNumber. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Static Public Attributes | |
static VECTOR2I | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
virtual void | swapData (BOARD_ITEM *aImage) |
bool | Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
Protected Attributes | |
PCB_LAYER_ID | m_layer |
bool | m_isKnockout |
bool | m_isLocked |
PCB_GROUP * | m_group |
EDA_ITEM_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
EDA_ITEM_FLAGS | m_flags |
Private Member Functions | |
BOARD (const BOARD &aOther)=delete | |
BOARD & | operator= (const BOARD &aOther)=delete |
template<typename Func , typename... Args> | |
void | InvokeListeners (Func &&aFunc, Args &&... args) |
Private Attributes | |
BOARD_USE | m_boardUse |
What is this board being used for. More... | |
int | m_timeStamp |
wxString | m_fileName |
MARKERS | m_markers |
DRAWINGS | m_drawings |
FOOTPRINTS | m_footprints |
TRACKS | m_tracks |
GROUPS | m_groups |
ZONES | m_zones |
LAYER | m_layers [PCB_LAYER_ID_COUNT] |
HIGH_LIGHT_INFO | m_highLight |
HIGH_LIGHT_INFO | m_highLightPrevious |
int | m_fileFormatVersionAtLoad |
wxString | m_generator |
std::map< wxString, wxString > | m_properties |
std::shared_ptr< CONNECTIVITY_DATA > | m_connectivity |
PAGE_INFO | m_paper |
TITLE_BLOCK | m_titles |
PCB_PLOT_PARAMS | m_plotOptions |
PROJECT * | m_project |
std::unique_ptr< BOARD_DESIGN_SETTINGS > | m_designSettings |
All of the board design settings are stored as a JSON object inside the project file. More... | |
NETINFO_LIST | m_NetInfo |
std::vector< BOARD_LISTENER * > | m_listeners |
ZONE_SETTINGS | m_zoneSettings |
KICAD_T | m_structType |
Run time identification, keep private so it can never be changed after a ctor sets it. More... | |
VIEW_ITEM_DATA * | m_viewPrivData |
Friends | |
class | PCB_EDIT_FRAME |
BOARD::BOARD | ( | ) |
Definition at line 69 of file board.cpp.
References _, A4, SHAPE_POLY_SET::Append(), B_Mask, NETCLASS::Default, F_Mask, GAL_LAYER_ID_BITMASK_END, GAL_LAYER_INDEX, GetDesignSettings(), GetStandardLayerName(), IsCopperLayer(), LT_SIGNAL, LT_UNDEFINED, m_connectivity, m_fileFormatVersionAtLoad, m_layers, m_LegacyVisibleItems, m_LegacyVisibleLayers, LAYER::m_name, BOARD_DESIGN_SETTINGS::m_NetSettings, m_SolderMask, LAYER::m_type, EDA_IU_SCALE::mmToIU(), SHAPE_POLY_SET::NewOutline(), NORMAL, ZONE::Outline(), PCB_LAYER_ID_COUNT, pcbIUScale, Rescue, GAL_SET::set(), ZONE::SetLayerSet(), ZONE::SetMinThickness(), ToLAYER_ID(), and BOARD_DESIGN_SETTINGS::UseCustomTrackViaSize().
BOARD::~BOARD | ( | ) |
Definition at line 121 of file board.cpp.
References DeleteMARKERs(), group, m_drawings, m_footprints, m_groups, m_SolderMask, m_tracks, and m_zones.
|
privatedelete |
|
overridevirtual |
Removes an item from the container.
Implements BOARD_ITEM_CONTAINER.
Definition at line 750 of file board.cpp.
References APPEND, NETINFO_LIST::AppendNet(), BULK_APPEND, BULK_INSERT, EDA_ITEM::ClearEditFlags(), BOARD_ITEM::GetLayer(), InvokeListeners(), IsCopperLayer(), m_connectivity, m_drawings, m_footprints, m_groups, m_markers, m_NetInfo, m_tracks, m_zones, BOARD_LISTENER::OnBoardItemAdded(), PCB_ARC_T, PCB_BITMAP_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_MARKER_T, PCB_NETINFO_T, PCB_SHAPE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, EDA_ITEM::SetParent(), and EDA_ITEM::Type().
Referenced by NET_SELECTOR_COMBOPOPUP::Accept(), PCB_BASE_FRAME::AddFootprintToBoard(), TEARDROP_MANAGER::addTeardropsOnTracks(), PCAD2KICAD::PCB::AddToBoard(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_FOOTPRINT::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), PCAD2KICAD::PCB_PAD::AddToBoard(), PCAD2KICAD::PCB_POLYGON::AddToBoard(), PCAD2KICAD::PCB_TEXT::AddToBoard(), PCAD2KICAD::PCB_PAD::AddToFootprint(), ALTIUM_PCB::ConvertArcs6ToBoardItem(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertFills6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertPads6ToBoardItem(), ALTIUM_PCB::ConvertPads6ToBoardItemOnNonCopper(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTexts6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertTracks6ToBoardItem(), ALTIUM_PCB::ConvertTracks6ToBoardItemOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::createUniqueGroupID(), FOOTPRINT_VIEWER_FRAME::displayFootprint(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), DSN::SPECCTRA_DB::FromSESSION(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadNet(), ZONE_SEARCH_HANDLER::GetResultCell(), GROUP_TOOL::Group(), ALTIUM_PCB::HelperCreateAndAddShape(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Center(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParseDimensions6Linear(), ALTIUM_PCB::HelperParseDimensions6Radial(), ALTIUM_PCB::HelperPcpShapeAsBoardKeepoutRegion(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), LEGACY_PLUGIN::loadAllSections(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), LoadBoard(), CADSTAR_PCB_ARCHIVE_LOADER::loadComponents(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), LEGACY_PLUGIN::loadDIMENSION(), CADSTAR_PCB_ARCHIVE_LOADER::loadDimensions(), EAGLE_PLUGIN::loadElements(), FABMASTER::loadEtch(), FABMASTER::loadFootprints(), FABMASTER::loadGraphics(), CADSTAR_PCB_ARCHIVE_LOADER::loadGroups(), LEGACY_PLUGIN::loadNETINFO_ITEM(), FABMASTER::loadNets(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetVia(), FABMASTER::loadOutline(), LEGACY_PLUGIN::loadPCB_LINE(), LEGACY_PLUGIN::loadPCB_TARGET(), LEGACY_PLUGIN::loadPCB_TEXT(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), EAGLE_PLUGIN::loadPolygon(), EAGLE_PLUGIN::loadSignals(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), LEGACY_PLUGIN::loadTrackList(), FABMASTER::loadVias(), FABMASTER::loadZone(), LEGACY_PLUGIN::loadZONE_CONTAINER(), DIALOG_NET_INSPECTOR::onAddNet(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PCB_PARSER::parseBOARD_unchecked(), ALTIUM_PCB::ParseComponents6Data(), PCB_PARSER::parseNETINFO_ITEM(), ALTIUM_PCB::ParseNets6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseVias6Data(), PCB_PARSER::parseZONE(), BOARD_COMMIT::Push(), FOOTPRINT_WIZARD_FRAME::ReloadFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), BOARD_COMMIT::Revert(), DIALOG_FOOTPRINT_CHECKER::runChecks(), and TEARDROP_MANAGER::SetTeardrops().
ZONE * BOARD::AddArea | ( | PICKED_ITEMS_LIST * | aNewZonesList, |
int | aNetcode, | ||
PCB_LAYER_ID | aLayer, | ||
VECTOR2I | aStartPointPosition, | ||
ZONE_BORDER_DISPLAY_STYLE | aHatch | ||
) |
Add an empty copper area to board areas list.
aNewZonesList | is a PICKED_ITEMS_LIST * where to store new areas pickers (useful in undo commands) can be NULL. |
aNetcode | is the netcode of the copper area (0 = no net). |
aLayer | is the layer of area. |
aStartPointPosition | is position of the first point of the polygon outline of this area. |
aHatch | is the hatch option. |
Definition at line 1925 of file board.cpp.
References ZONE::AppendCorner(), m_zones, NEWITEM, PICKED_ITEMS_LIST::PushItem(), ZONE::SetHatchStyle(), ZONE::SetLayer(), and BOARD_CONNECTED_ITEM::SetNetCode().
void BOARD::AddListener | ( | BOARD_LISTENER * | aListener | ) |
Add a listener to the board to receive calls whenever something on the board has been modified.
The board does not take ownership of the listener object. Make sure to call RemoveListener before deleting the listener object. The order of listener invocations is not guaranteed. If the specified listener object has been added before, it will not be added again.
Definition at line 2023 of file board.cpp.
References alg::contains(), and m_listeners.
Referenced by DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), APPEARANCE_CONTROLS::OnBoardChanged(), DIALOG_NET_INSPECTOR::onBoardChanged(), PCB_SEARCH_PANE::onBoardChanged(), and PCB_SEARCH_PANE::PCB_SEARCH_PANE().
const std::vector< BOARD_CONNECTED_ITEM * > BOARD::AllConnectedItems | ( | ) |
Definition at line 1979 of file board.cpp.
References Footprints(), pad, Tracks(), and Zones().
Referenced by MapNets(), and SanitizeNetcodes().
|
inline |
Definition at line 779 of file board.h.
References NETINFO_LIST::begin(), and m_NetInfo.
bool BOARD::BuildConnectivity | ( | PROGRESS_REPORTER * | aReporter = nullptr | ) |
Build or rebuild the board connectivity database for the board, especially the list of connected items, list of nets and rastnest data Needed after loading a board to have the connectivity database updated.
Definition at line 162 of file board.cpp.
References GetConnectivity(), and UpdateRatsnestExclusions().
Referenced by PCB_CONTROL::AppendBoard(), TRACKS_CLEANER::deleteDanglingTracks(), KI_TEST::FillZones(), PCB_EDIT_FRAME::ImportSpecctraSession(), LoadBoard(), PCB_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::RebuildAndRefresh(), PCB_BASE_FRAME::rebuildConnectivity(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), TEARDROP_MANAGER::RemoveTeardrops(), SaveBoard(), PCB_EDIT_FRAME::SetBoard(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and PCB_EDIT_FRAME::UpdateUserInterface().
|
inline |
Definition at line 744 of file board.h.
References NETINFO_LIST::buildListOfNets(), and m_NetInfo.
Referenced by PCB_CONTROL::AppendBoard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), FOOTPRINT_EDIT_FRAME::ImportFootprint(), LoadBoard(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PCB_EDIT_FRAME::OpenProjectFiles(), and PCB_EDIT_FRAME::ShowBoardSetupDialog().
void BOARD::CacheTriangulation | ( | PROGRESS_REPORTER * | aReporter = nullptr , |
const std::vector< ZONE * > & | aZones = {} |
||
) |
Definition at line 700 of file board.cpp.
References _, PROGRESS_REPORTER::AdvanceProgress(), GetKiCadThreadPool(), PROGRESS_REPORTER::IsCancelled(), PROGRESS_REPORTER::KeepRefreshing(), m_zones, PROGRESS_REPORTER::Report(), and tp.
Referenced by CONNECTIVITY_DATA::Build(), and PCB_DRAW_PANEL_GAL::DisplayBoard().
|
inlinestatic |
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 158 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by Add(), FOOTPRINT::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 141 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetIsShownAsBitmap(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and EE_SELECTION_TOOL::unhighlight().
void BOARD::ClearProject | ( | ) |
Definition at line 206 of file board.cpp.
References GetDesignSettings(), PROJECT::GetProjectFile(), BOARD_DESIGN_SETTINGS::m_NetSettings, m_project, project, and NESTED_SETTINGS::SetParent().
Referenced by PCB_EDIT_FRAME::doCloseWindow(), PCB_EDIT_FRAME::Files_io_from_id(), DIALOG_BOARD_SETUP::onAuxiliaryAction(), PCB_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::SetBoard(), and SetProject().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_SYMBOL::LIB_SYMBOL(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 153 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), IS_LINKED, SELECTED_BY_DRAG, and SKIP_STRUCT.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 143 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
virtualinherited |
Create a duplicate of this item with linked list members set to NULL.
The default version will return NULL in release builds and likely crash the program. In debug builds, a warning message indicating the derived class has not implemented cloning. This really should be a pure virtual function. Due to the fact that there are so many objects derived from EDA_ITEM, the decision was made to return NULL until all the objects derived from EDA_ITEM implement cloning. Once that happens, this function should be made pure.
Reimplemented in LIB_FIELD, LIB_PIN, LIB_SHAPE, LIB_TEXT, LIB_TEXTBOX, SCH_BITMAP, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_JUNCTION, SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, KIGFX::ORIGIN_VIEWITEM, PCB_GROUP, FOOTPRINT, FP_SHAPE, FP_TEXT, FP_TEXTBOX, NETINFO_ITEM, PAD, PCB_BITMAP, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_MARKER, PCB_SHAPE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, ZONE, and FP_ZONE.
Definition at line 82 of file eda_item.cpp.
References EDA_ITEM::GetClass().
Referenced by SCH_EDIT_FRAME::AddCopyForRepeatItem(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), BOARD_ITEM::Duplicate(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_DIMENSION_BASE::GetEffectiveShape(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_COMMIT::makeImage(), new_clone(), LIB_SYMBOL::operator=(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SCH_LIB_PLUGIN_CACHE::removeSymbol(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), LIB_SYMBOL::SetConversion(), LIB_SYMBOL::SetUnitCount(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
BOX2I BOARD::ComputeBoundingBox | ( | bool | aBoardEdgesOnly = false | ) | const |
Calculate the bounding box containing all board items (or board edge segments).
aBoardEdgesOnly | is true if we are interested in board edge segments only. |
Definition at line 1231 of file board.cpp.
References Edge_Cuts, GetVisibleLayers(), IsElementVisible(), LAYER_MOD_TEXT_INVISIBLE, m_drawings, m_footprints, PGM_BASE::m_Printing, m_tracks, m_zones, BOX2< Vec >::Merge(), PCB_FP_SHAPE_T, PCB_SHAPE_T, and PgmOrNull().
Referenced by buildBoardBoundingBoxPoly(), BuildBoardPolygonOutlines(), PCB_EDIT_FRAME::ExportToGenCAD(), PLACE_FILE_EXPORTER::GenReportData(), GetBoardEdgesBoundingBox(), GetBoundingBox(), PCBNEW_PRINTOUT::getBoundingBox(), initializePlotter(), BOARD_ADAPTER::InitSettings(), DIALOG_EXPORT_STEP::onExportButton(), PCB_PLOT_SVG::Plot(), and StartPlotBoard().
void BOARD::ConvertBrdLayerToPolygonalContours | ( | PCB_LAYER_ID | aLayer, |
SHAPE_POLY_SET & | aOutlines | ||
) | const |
Build a set of polygons which are the outlines of copper items (pads, tracks, vias, texts, zones).
Holes in vias or pads are ignored. The polygons are not merged. This is useful to export the shape of copper layers to dxf polygons or 3D viewer/
aLayer | is a copper layer, like B_Cu, etc. |
aOutlines | is the SHAPE_POLY_SET to fill in with items outline. |
Definition at line 2249 of file board.cpp.
References ERROR_INSIDE, GetDesignSettings(), m_drawings, m_footprints, BOARD_DESIGN_SETTINGS::m_MaxError, m_tracks, PCB_SHAPE_T, PCB_TEXT_T, PCB_TEXTBOX_T, text, PCB_SHAPE::TransformShapeToPolygon(), PCB_TEXTBOX::TransformTextToPolySet(), and Zones().
Referenced by EXPORTER_PCB_VRML::ExportStandardLayers(), EXPORTER_PCB_VRML::ExportVrmlSolderMask(), and PlotLayerOutlines().
wxString BOARD::ConvertCrossReferencesToKIIDs | ( | const wxString & | aSource | ) | const |
Convert cross-references back and forth between ${refDes:field} and ${kiid:field}.
Definition at line 1112 of file board.cpp.
References Footprints().
Referenced by DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), and DIALOG_DIMENSION_PROPERTIES::updateDimensionFromDialog().
wxString BOARD::ConvertKIIDsToCrossReferences | ( | const wxString & | aSource | ) | const |
Definition at line 1166 of file board.cpp.
References GetItem(), PCB_FOOTPRINT_T, and EDA_ITEM::Type().
Referenced by DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataToWindow().
|
inlinevirtualinherited |
Removes an item from the container and deletes it.
Definition at line 77 of file board_item_container.h.
References BOARD_ITEM_CONTAINER::Remove().
Referenced by DRC_ITEMS_PROVIDER::DeleteItem(), PCB_PARSER::parseBOARD_unchecked(), and BOARD_COMMIT::Push().
void BOARD::DeleteAllFootprints | ( | ) |
Remove all footprints from the deque and free the memory associated with them.
Definition at line 988 of file board.cpp.
References m_footprints.
Referenced by FOOTPRINT_VIEWER_FRAME::ClickOnFootprintList(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), FOOTPRINT_WIZARD_FRAME::ReloadFootprint(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), and DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME().
void BOARD::DeleteMARKERs | ( | ) |
Delete all MARKERS from the board.
Definition at line 956 of file board.cpp.
References m_markers.
Referenced by DIALOG_FOOTPRINT_CHECKER::deleteAllMarkers(), DIALOG_DRC::deleteAllMarkers(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), DSN::SPECCTRA_DB::FromSESSION(), and ~BOARD().
void BOARD::DeleteMARKERs | ( | bool | aWarningsAndErrors, |
bool | aExclusions | ||
) |
Definition at line 966 of file board.cpp.
References m_markers, and RPT_SEVERITY_EXCLUSION.
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 150 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 310 of file board.h.
References m_drawings.
Referenced by PCB_CONTROL::AppendBoard(), ZONE_FILLER::buildCopperItemClearances(), CreateBoardSection(), BOARD_ADAPTER::createLayers(), PCB_DRAW_PANEL_GAL::DisplayBoard(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), FillItemMap(), ZONE_FILLER::fillNonCopperZone(), DRC_TEST_PROVIDER::forEachGeometryItem(), PCB_PLUGIN::format(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genPlacementRoutingMatrix(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), GetItem(), idf_export_outline(), ALTIUM_PCB::Parse(), PCB_PARSER::parseBOARD_unchecked(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BRDITEMS_PLOTTER::PlotBoardGraphicItems(), PlotSolderMaskLayer(), PCB_EDIT_FRAME::RunActionPlugin(), DIALOG_FIND::search(), TEXT_SEARCH_HANDLER::Search(), PNS_KICAD_IFACE_BASE::SyncWorld(), and TestForExistingItem().
|
inline |
|
virtualinherited |
Create a copy of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 184 of file board_item.cpp.
References PCB_GROUP::AddItem(), EDA_ITEM::Clone(), BOARD_ITEM::GetParentGroup(), and EDA_ITEM::m_Uuid.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), FOOTPRINT::Duplicate(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), and ARRAY_CREATOR::Invoke().
|
inline |
Definition at line 787 of file board.h.
References NETINFO_LIST::end(), and m_NetInfo.
Definition at line 1076 of file board.cpp.
References Drawings(), Footprints(), group, m_groups, m_markers, EDA_ITEM::m_Uuid, pad, Tracks(), and Zones().
Referenced by WriteDRCReport(), and DIALOG_DRC::writeReport().
void BOARD::FinalizeBulkAdd | ( | std::vector< BOARD_ITEM * > & | aNewItems | ) |
Must be used if Add() is used using a BULK_x ADD_MODE to generate a change event for listeners.
Definition at line 847 of file board.cpp.
References InvokeListeners(), and BOARD_LISTENER::OnBoardItemsAdded().
Referenced by PCB_PARSER::parseBOARD_unchecked(), BOARD_COMMIT::Push(), and BOARD_COMMIT::Revert().
void BOARD::FinalizeBulkRemove | ( | std::vector< BOARD_ITEM * > & | aRemovedItems | ) |
Must be used if Remove() is used using a BULK_x REMOVE_MODE to generate a change event for listeners.
Definition at line 853 of file board.cpp.
References InvokeListeners(), and BOARD_LISTENER::OnBoardItemsRemoved().
Referenced by BOARD_COMMIT::Push(), and BOARD_COMMIT::Revert().
Search for a FOOTPRINT within this board with the given path.
aPath | The path ([sheetUUID, .., symbolUUID]) to search for. |
Definition at line 1489 of file board.cpp.
References m_footprints.
Referenced by PCB_EDIT_FRAME::LoadFootprints().
FOOTPRINT * BOARD::FindFootprintByReference | ( | const wxString & | aReference | ) | const |
Search for a FOOTPRINT within this board with the given reference designator.
Finds only the first one, if there is more than one such FOOTPRINT.
aReference | The reference designator of the FOOTPRINT to find. |
Definition at line 1477 of file board.cpp.
References m_footprints.
Referenced by DSN::SPECCTRA_DB::FromSESSION(), PCB_EDIT_FRAME::LoadFootprints(), and DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist().
NETINFO_ITEM * BOARD::FindNet | ( | const wxString & | aNetname | ) | const |
Search for a net with the given name.
aNetname | A Netname to search for. |
Definition at line 1471 of file board.cpp.
References NETINFO_LIST::GetNetItem(), and m_NetInfo.
NETINFO_ITEM * BOARD::FindNet | ( | int | aNetcode | ) | const |
Search for a net with the given netcode.
aNetcode | A netcode to search for. |
Definition at line 1456 of file board.cpp.
References NETINFO_LIST::GetNetCount(), NETINFO_LIST::GetNetItem(), m_NetInfo, NETINFO_LIST::OrphanedItem(), and NETINFO_LIST::UNCONNECTED.
Referenced by PCAD2KICAD::PCB_PAD::AddToFootprint(), CreateSignalsSection(), PNS_PCBNEW_RULE_RESOLVER::DpCoupledNet(), PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), PNS_PCBNEW_RULE_RESOLVER::DpNetPolarity(), PCB_EDIT_FRAME::Edit_Zone_Params(), DIALOG_COPPER_ZONE::ensureSelectedNetIsVisible(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), DSN::SPECCTRA_DB::FromBOARD(), DSN::SPECCTRA_DB::FromSESSION(), inDiffPairFunc(), DRC_ENGINE::IsNetADiffPair(), LEGACY_PLUGIN::loadNETINFO_ITEM(), LEGACY_PLUGIN::loadPAD(), MapNets(), PNS_PCBNEW_RULE_RESOLVER::NetName(), DIALOG_NET_INSPECTOR::onAddNet(), DIALOG_NET_INSPECTOR::onRenameNet(), NETINFO_MAPPING::iterator::operator*(), PCB_PARSER::parseNETINFO_ITEM(), PCB_PARSER::parsePAD(), PCB_PARSER::parseZONE(), BOARD_EDITOR_CONTROL::RepairBoard(), SanitizeNetcodes(), BOARD_CONNECTED_ITEM::SetNetCode(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), and ROUTER_TOOL::UpdateMessagePanel().
|
virtualinherited |
Flip this object, i.e.
change the board side for this object.
aCentre | the rotation point. |
aFlipLeftRight | mirror across Y axis instead of X (the default). |
Reimplemented in PCB_GROUP, FOOTPRINT, FP_SHAPE, FP_TEXT, FP_TEXTBOX, PCB_BITMAP, PCB_DIMENSION_BASE, PCB_MARKER, PCB_SHAPE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, ZONE, and PAD.
Definition at line 256 of file board_item.cpp.
References EDA_ITEM::GetClass().
|
inline |
Definition at line 307 of file board.h.
References m_footprints.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), GERBER_JOBFILE_WRITER::addJSONDesignRules(), RENDER_3D_RAYTRACE::addPadsAndVias(), AllConnectedItems(), PCB_CONTROL::AppendBoard(), AR_AUTOPLACER::AR_AUTOPLACER(), AR_AUTOPLACER::AutoplaceFootprints(), CN_CONNECTIVITY_ALGO::Build(), build_pad_testpoints(), BuildBoardPolygonOutlines(), ZONE_FILLER::buildCopperItemClearances(), FROM_TO_CACHE::buildEndpointList(), DIALOG_BOARD_REANNOTATE::BuildFootprintList(), GENDRILL_WRITER_BASE::buildHolesList(), DIALOG_NET_INSPECTOR::buildNetsList(), HYPERLYNX_EXPORTER::collectNetObjects(), TEARDROP_MANAGER::collectPadsCandidate(), EXPORTER_STEP::composePCB(), ConvertCrossReferencesToKIIDs(), CreateComponentsSection(), BOARD_ADAPTER::createLayers(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), CreateShapesSection(), CreateSignalsSection(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), PCB_DRAW_PANEL_GAL::DisplayBoard(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), doPushPadProperties(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), PCB_EDIT_FRAME::Export_IDF3(), EXPORTER_PCB_VRML::ExportFp3DModelsAsLinkedFile(), PCB_EDIT_FRAME::ExportToGenCAD(), EXPORTER_PCB_VRML::ExportVRML_File(), ZONE_FILLER::Fill(), FillItemMap(), ZONE_FILLER::fillNonCopperZone(), DSN::SPECCTRA_DB::FlipFOOTPRINTs(), DRC_TEST_PROVIDER::forEachGeometryItem(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), RENDER_3D_OPENGL::generateViasAndPads(), PLACE_FILE_EXPORTER::GenPositionData(), PLACE_FILE_EXPORTER::GenReportData(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), GetItem(), GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), GetNodesCount(), GetPadFast(), GetPads(), GetSortedPadListByXthenYCoord(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), DIALOG_GENDRILL::InitDisplayParams(), ZONE_FILLER::knockoutThermalReliefs(), RENDER_3D_RAYTRACE::load3DModels(), RENDER_3D_OPENGL::load3dModels(), DRC_ENGINE::loadImplicitRules(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_INSPECTION_TOOL::makeDRCEngine(), AR_AUTOPLACER::nearestPad(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PCB_PARSER::parseBOARD_unchecked(), PCB_CONTROL::Paste(), AR_AUTOPLACER::pickFootprint(), PCB_CONTROL::placeBoardItems(), BRDITEMS_PLOTTER::PlotDrillMarks(), PlotInteractiveLayer(), PlotLayerOutlines(), PlotSolderMaskLayer(), PlotStandardLayer(), DIALOG_EXCHANGE_FOOTPRINTS::processMatchingFootprints(), BOARD_COMMIT::Push(), BOARD_REANNOTATE_TOOL::ReannotateDuplicates(), RecreateCmpFile(), RENDER_3D_OPENGL::render3dModelsSelected(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), DSN::SPECCTRA_DB::RevertFOOTPRINTs(), DRC_CACHE_GENERATOR::Run(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_FOOTPRINT_CHECKS::Run(), DRC_TEST_PROVIDER_HOLE_SIZE::Run(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), DRC_TEST_PROVIDER_SOLDER_MASK::Run(), PCB_EDIT_FRAME::RunActionPlugin(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), DIALOG_FIND::search(), FOOTPRINT_SEARCH_HANDLER::Search(), searchAreas(), searchFootprints(), FOOTPRINT_EDIT_FRAME::SelectFootprintFromBoard(), SetElementVisibility(), ZONE_FILLER::subtractHigherPriorityZones(), PNS_KICAD_IFACE_BASE::SyncWorld(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testCourtyardClearances(), DRC_TEST_PROVIDER_COURTYARD_CLEARANCE::testFootprintCourtyardDefinitions(), TestForExistingItem(), DRC_TEST_PROVIDER_SCHEMATIC_PARITY::testNetlist(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadClearances(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DIALOG_UNUSED_PAD_LAYERS::TransferDataFromWindow(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), NETINFO_MAPPING::Update(), BOARD_NETLIST_UPDATER::UpdateNetlist(), HYPERLYNX_EXPORTER::writeDevices(), and HYPERLYNX_EXPORTER::writePadStacks().
|
inline |
|
inlineinherited |
Definition at line 104 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 84 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PROPERTIES_PANEL::getItemValue(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 92 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inline |
Return the Zone at a given index.
index | The array type index into a collection of ZONE *. |
Definition at line 912 of file board.h.
References m_zones.
Referenced by UpdateCopyOfZonesList().
|
inline |
|
virtualinherited |
Definition at line 57 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 43 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by BOARD_ADAPTER::addShape(), FOOTPRINT::BuildCourtyardCaches(), PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), ZONE::CacheBoundingBox(), collidesWithArea(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), enclosedByAreaFunc(), existsOnLayerFunc(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FP_SHAPE::Flip(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), PCB_PLUGIN::format(), fromToFunc(), BOARD_ITEM::GetBoard(), PCB_EXPR_CONTEXT::GetBoard(), NETINFO_ITEM::GetBoundingBox(), ZONE::GetBoundingBox(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), FOOTPRINT::GetCourtyard(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), getFieldFunc(), ZONE::GetInteractingZones(), ZONE::GetItemDescription(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_MARKER::GetSeverity(), PAD::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), GetTrackLength(), PCB_TRACK::GetWidthConstraint(), inDiffPairFunc(), ROUTER_TOOL::Init(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), BOARD_ITEM::IsLocked(), PCB_VIA::IsTented(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), PAD::MergePrimitivesAsPolygon(), ZONE::Move(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), EAGLE_PLUGIN::packageWire(), padsNeedUpdate(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), ResolveDRCExclusions(), FOOTPRINT::ResolveTextVar(), BOARD_CONNECTED_ITEM::SetNetCode(), TEARDROP_DIALOG::TEARDROP_DIALOG(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), UpdateRatsnestExclusions(), FOOTPRINT::ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), PAD::ViewGetLOD(), PCB_BITMAP::ViewGetLOD(), PCB_VIA::ViewGetLOD(), FOOTPRINT::~FOOTPRINT(), and ZONE::~ZONE().
|
inline |
Return the board bounding box calculated using exclusively the board edges (graphics on Edge.Cuts layer).
If there are items outside of the area limited by Edge.Cuts graphics, the items will not be taken into account.
Definition at line 823 of file board.h.
References ComputeBoundingBox().
Referenced by GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), AUTOPLACE_TOOL::autoplace(), BuildBoardPolygonOutlines(), EAGLE_PLUGIN::centerBoard(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), GENDRILL_WRITER_BASE::genDrillMapFile(), AR_AUTOPLACER::genPlacementRoutingMatrix(), PCB_BASE_FRAME::GetBoardBoundingBox(), idf_export_outline(), CADSTAR_PCB_ARCHIVE_PLUGIN::Load(), PCB_EDIT_FRAME::OnExportIDF3(), and ALTIUM_PCB::Parse().
bool BOARD::GetBoardPolygonOutlines | ( | SHAPE_POLY_SET & | aOutlines, |
OUTLINE_ERROR_HANDLER * | aErrorHandler = nullptr |
||
) |
Extract the board outlines and build a closed polygon from lines, arcs and circle items on edge cut layer.
Any closed outline inside the main outline is a hole. All contours should be closed, i.e. have valid vertices to build a closed polygon.
aOutlines | is the SHAPE_POLY_SET to fill in with outlines/holes. |
aErrorHandler | is an optional DRC_ITEM error handler. |
Definition at line 1950 of file board.cpp.
References BuildBoardPolygonOutlines(), GetDesignSettings(), EDA_IU_SCALE::mmToIU(), pcbIUScale, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, and SHAPE_POLY_SET::Simplify().
Referenced by DSN::SPECCTRA_DB::BuiltBoardOutlines(), EXPORTER_STEP::composePCB(), BOARD_ADAPTER::createBoardPolygon(), DRAWING_TOOL::DrawBoardCharacteristics(), EXPORTER_PCB_VRML::ExportVrmlBoard(), ZONE_FILLER::Fill(), AR_AUTOPLACER::genPlacementRoutingMatrix(), DIALOG_BOARD_STATISTICS::getDataFromPCB(), PlotSolderMaskLayer(), PNS_KICAD_IFACE_BASE::SyncWorld(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), and HYPERLYNX_EXPORTER::writeBoardInfo().
|
inline |
Get what the board use is.
Definition at line 284 of file board.h.
References m_boardUse.
Referenced by BOARD_ITEM::IsLocked().
|
inlineoverridevirtual |
Return the orthogonal bounding box of this object for display purposes.
This box should be an enclosing perimeter for visible components of this object, and the units should be in the pcb or schematic coordinate system. It is OK to overestimate the size by a few counts.
Reimplemented from EDA_ITEM.
Definition at line 809 of file board.h.
References ComputeBoundingBox().
Referenced by buildBoardBoundingBoxPoly(), PCB_BASE_FRAME::GetBoardBoundingBox(), GetFocusPosition(), PCB_EDIT_FRAME::OnExportVRML(), DRC_TEST_PROVIDER_MISC::testOutline(), and PANEL_PCBNEW_COLOR_SETTINGS::zoomFitPreview().
|
inlinevirtualinherited |
This defaults to the center of the bounding box if not overridden.
Reimplemented in PAD, PCB_MARKER, PCB_SHAPE, and PCB_ARC.
Definition at line 93 of file board_item.h.
References EDA_ITEM::GetBoundingBox(), and BOX2< Vec >::GetCenter().
Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_SELECTION_TOOL::FindItem(), and ALTIUM_PCB::HelperParseDimensions6Radial().
|
inlineoverridevirtual |
|
inline |
Return a list of missing connections between components/tracks.
Definition at line 424 of file board.h.
References m_connectivity.
Referenced by BuildConnectivity(), BOARD_NETLIST_UPDATER::cacheCopperZoneConnections(), FROM_TO_CACHE::cacheFromToPaths(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), DIALOG_NET_INSPECTOR::calculateViaLength(), TRACKS_CLEANER::cleanup(), PCB_BASE_FRAME::Compile_Ratsnest(), TRACKS_CLEANER::deleteDanglingTracks(), TRACKS_CLEANER::deleteTracksInPads(), PCB_DRAW_PANEL_GAL::DisplayBoard(), PNS_KICAD_IFACE::DisplayRatline(), EDIT_TOOL::DragArcTrack(), ZONE_FILLER::Fill(), EDIT_TOOL::FilletTracks(), PCB_VIA::FlashLayer(), fromToFunc(), NETINFO_ITEM::GetBoundingBox(), TRACKS_CLEANER::getConnectedItems(), GetMsgPanelInfo(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), GetTrackLength(), PCB_SELECTION_TOOL::grabUnconnected(), PCB_EDIT_FRAME::ImportSpecctraSession(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), TRACKS_CLEANER::mergeCollinearSegments(), DIALOG_DRC::OnDRCItemRClick(), DIALOG_DRC::OnDRCItemSelected(), PCB_BASE_FRAME::PlaceFootprint(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), DIALOG_NET_INSPECTOR::relevantConnectivityItems(), TRACKS_CLEANER::removeShortingTrackSegments(), BOARD_COMMIT::Revert(), ROUTER_TOOL::RouteSelected(), DRC_TEST_PROVIDER_CONNECTIVITY::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), PCB_SELECTION_TOOL::SelectAllItemsOnNet(), PCB_SELECTION_TOOL::selectConnections(), PCB_SELECTION_TOOL::selectUnconnected(), TRACKS_CLEANER::testTrackEndpointIsNode(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), and UpdateRatsnestExclusions().
int BOARD::GetCopperLayerCount | ( | ) | const |
Definition at line 541 of file board.cpp.
References BOARD_DESIGN_SETTINGS::GetCopperLayerCount(), and GetDesignSettings().
Referenced by GERBER_JOBFILE_WRITER::addJSONDesignRules(), GERBER_JOBFILE_WRITER::addJSONFilesAttributes(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), GERBER_JOBFILE_WRITER::addJSONMaterialStackup(), PCB_CONTROL::AppendBoard(), GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), DSN::SPECCTRA_DB::buildLayerMaps(), PANEL_SETUP_LAYERS::CheckCopperLayerCount(), compute_pad_access_code(), EXPORTER_PCB_VRML::ComputeLayer3D_Zpos(), CreateComponentsSection(), CreatePadsShapesSection(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), CreateRoutesSection(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), DSN::SPECCTRA_DB::FromBOARD(), GetGerberFileFunctionAttribute(), DIALOG_TRACK_VIA_PROPERTIES::getLayerDepth(), BOARD_ADAPTER::InitSettings(), LayerDepth(), DSN::SPECCTRA_DB::makeIMAGE(), DSN::SPECCTRA_DB::makePADSTACK(), DSN::SPECCTRA_DB::makeVIA(), APPEARANCE_CONTROLS::rebuildLayerContextMenu(), PCB_BASE_FRAME::SwitchLayer(), PANEL_SETUP_BOARD_STACKUP::synchronizeWithBoard(), DIALOG_SWAP_LAYERS::TransferDataFromWindow(), DIALOG_SWAP_LAYERS::TransferDataToWindow(), PANEL_SETUP_LAYERS::TransferDataToWindow(), and via_access_code().
BOARD_DESIGN_SETTINGS & BOARD::GetDesignSettings | ( | ) | const |
Definition at line 682 of file board.cpp.
References m_designSettings.
Referenced by AddGerberX2Header(), GERBER_JOBFILE_WRITER::addJSONDesignRules(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), GERBER_JOBFILE_WRITER::addJSONMaterialStackup(), BOARD(), CONNECTIVITY_DATA::Build(), build_pad_testpoints(), build_via_testpoints(), ZONE_FILLER::buildCopperItemClearances(), PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildFilterLists(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildNetclassesGrid(), BOARD_ADAPTER::buildPadOutlineAsPolygon(), ZONE::BuildSmoothedPoly(), ZONE_FILLER::buildThermalSpokes(), DIALOG_NET_INSPECTOR::calculateViaLength(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), EDIT_TOOL::ChangeTrackWidth(), GRAPHICS_CLEANER::CleanupBoard(), NETINFO_ITEM::Clear(), FOOTPRINT_EDIT_FRAME::Clear_Pcb(), ClearProject(), collidesWithArea(), ZONE_CREATE_HELPER::commitZone(), FOOTPRINT_EDIT_FRAME::CommonSettingsChanged(), EXPORTER_STEP::composePCB(), EXPORTER_PCB_VRML::ComputeLayer3D_Zpos(), ConvertBrdLayerToPolygonalContours(), BOARD_ADAPTER::createBoardPolygon(), MICROWAVE_TOOL::createInductorBetween(), BOARD_ADAPTER::createLayers(), CreatePadsShapesSection(), BOARD_ADAPTER::createPadWithMargin(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), CONVERT_TOOL::CreatePolys(), CreateRoutesSection(), ROUTER_TOOL::CustomTrackWidthDialog(), EXPORTER_STEP::determinePcbThickness(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME(), ROUTER_TOOL::DpDimensionsDialog(), DRAWING_TOOL::DrawBoardCharacteristics(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawVia(), enclosedByAreaFunc(), TRACK_WIDTH_MENU::eventHandler(), DIFF_PAIR_MENU::eventHandler(), VIA_SIZE_MENU::eventHandler(), EVT_GRID_CMD_CELL_CHANGED(), PCB_EDIT_FRAME::Export_IDF3(), EXPORTER_PCB_VRML::EXPORTER_PCB_VRML(), PCB_EDIT_FRAME::ExportToGenCAD(), ZONE_FILLER::Fill(), ZONE_FILLER::fillCopperZone(), ZONE_FILLER::fillNonCopperZone(), FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME(), PCB_PLUGIN::formatGeneral(), PCB_PLUGIN::formatSetup(), DSN::SPECCTRA_DB::FromBOARD(), DSN::SPECCTRA_DB::FromSESSION(), PCB_BASE_FRAME::GetAuxOrigin(), GetBoardPolygonOutlines(), GetCopperLayerCount(), PCB_BASE_FRAME::GetDesignSettings(), FOOTPRINT_EDIT_FRAME::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), GetEnabledLayers(), PCB_BASE_FRAME::GetGridOrigin(), CADSTAR_PCB_ARCHIVE_LOADER::getHatchCodeAngle(), BOARD_ADAPTER::GetHolePlatingThickness(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadHatchCodeGap(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadHatchCodeThickness(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadNet(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), CADSTAR_PCB_ARCHIVE_LOADER::getLineThickness(), PCB_VIA::GetMinAnnulus(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), DRAWING_TOOL::getSegmentWidth(), PCB_MARKER::GetSeverity(), PCB_BASE_FRAME::GetSeverity(), PAD::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), GetTrackLength(), PCB_TRACK::GetWidthConstraint(), PCB_BASE_FRAME::GetZoneSettings(), GetZoneSettings(), ROUTER_TOOL::handleLayerSwitch(), ALTIUM_PCB::HelperCreateBoardOutline(), PANEL_SETUP_BOARD_FINISH::ImportSettingsFrom(), PANEL_SETUP_BOARD_STACKUP::ImportSettingsFrom(), PANEL_SETUP_CONSTRAINTS::ImportSettingsFrom(), PANEL_SETUP_MASK_AND_PASTE::ImportSettingsFrom(), PANEL_SETUP_TEXT_AND_GRAPHICS::ImportSettingsFrom(), PANEL_SETUP_TRACKS_AND_VIAS::ImportSettingsFrom(), PNS_KICAD_IFACE_BASE::ImportSizes(), DIALOG_PLOT::init_Dialog(), initializePlotter(), BOARD_ADAPTER::InitSettings(), IsLayerEnabled(), IsLayerVisible(), PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion(), PCBNEW_JOBS_HANDLER::JobExportDrill(), ZONE_FILLER::knockoutThermalReliefs(), EAGLE_PLUGIN::Load(), LoadBoard(), CADSTAR_PCB_ARCHIVE_LOADER::loadBoardStackup(), EAGLE_PLUGIN::loadClasses(), CADSTAR_PCB_ARCHIVE_LOADER::loadDesignRules(), FABMASTER::loadFootprints(), LEGACY_PLUGIN::loadGENERAL(), DRC_ENGINE::loadImplicitRules(), LEGACY_PLUGIN::loadNETCLASS(), FABMASTER::loadOutline(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), LEGACY_PLUGIN::loadSETUP(), EAGLE_PLUGIN::loadSignals(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadVias(), BOARD_INSPECTION_TOOL::makeDRCEngine(), DSN::SPECCTRA_DB::makePADSTACK(), CONVERT_TOOL::makePolysFromChainedSegs(), CONVERT_TOOL::makePolysFromClosedGraphics(), CONVERT_TOOL::makePolysFromOpenGraphics(), PAD::MergePrimitivesAsPolygon(), EDIT_TOOL::MoveExact(), NETINFO_ITEM::NETINFO_ITEM(), NewBoard(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), DIALOG_BOARD_SETUP::onAuxiliaryAction(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), APPEARANCE_CONTROLS::onNetclassContextMenu(), PANEL_SETUP_RULES::onScintillaCharAdded(), PCB_EDIT_FRAME::OpenProjectFiles(), EAGLE_PLUGIN::packageWire(), DIALOG_PAD_PROPERTIES::padValuesOK(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_BOARD_FINISH::PANEL_SETUP_BOARD_FINISH(), PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP(), PANEL_SETUP_CONSTRAINTS::PANEL_SETUP_CONSTRAINTS(), PANEL_SETUP_MASK_AND_PASTE::PANEL_SETUP_MASK_AND_PASTE(), PANEL_SETUP_TEXT_AND_GRAPHICS::PANEL_SETUP_TEXT_AND_GRAPHICS(), PANEL_SETUP_TRACKS_AND_VIAS::PANEL_SETUP_TRACKS_AND_VIAS(), ALTIUM_PCB::Parse(), ALTIUM_PCB::ParseBoard6Data(), PCB_PARSER::parseBoardStackup(), ALTIUM_PCB::ParseClasses6Data(), PCB_PARSER::parseGeneralSection(), PCB_PARSER::parseNETCLASS(), PCB_PARSER::parseSetup(), PLACE_FILE_EXPORTER::PLACE_FILE_EXPORTER(), PCB_PLOT_SVG::Plot(), DIALOG_PLOT::Plot(), PlotOneBoardLayer(), PlotSolderMaskLayer(), PlotStandardLayer(), ROUTER_TOOL::prepareInteractive(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), PCB_EDIT_FRAME::RebuildAndRefresh(), APPEARANCE_CONTROLS::rebuildNets(), PAD_TOOL::RecombinePad(), PCB_EDIT_FRAME::RecordDRCExclusions(), DIALOG_PLOT::reInitDialog(), DRC_TOOL::Reset(), DRC_TEST_PROVIDER_ANNULAR_WIDTH::Run(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_SOLDER_MASK::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), PCB_BASE_EDIT_FRAME::SetBoard(), SetCopperLayerCount(), SetEnabledLayers(), PCB_BASE_FRAME::SetGridOrigin(), NETINFO_ITEM::SetNetClass(), DIALOG_PLOT::SetPlotFormat(), SetProject(), PANEL_PREVIEW_3D_MODEL::SetSelectedModel(), PCB_BASE_FRAME::SetZoneSettings(), SetZoneSettings(), PNS_KICAD_IFACE_BASE::StackupHeight(), SynchronizeNetsAndNetClasses(), PNS_KICAD_IFACE_BASE::syncVia(), PNS_KICAD_IFACE_BASE::SyncWorld(), TEARDROP_DIALOG::TEARDROP_DIALOG(), TEARDROP_MANAGER::TEARDROP_MANAGER(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_MISC::testOutline(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer(), PANEL_SETUP_RULES::TransferDataFromWindow(), BOARD_ADAPTER::transformFPShapesToPolySet(), ZONE::TransformSmoothedOutlineToPolygon(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), VIA_SIZE_MENU::update(), PANEL_PREVIEW_3D_MODEL::updateBoardThickness(), DIALOG_GENDRILL::UpdateDrillParams(), PCB_CONTROL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterLayerSwitch(), FOOTPRINT::ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), WriteDRCReport(), DIALOG_DRC::writeReport(), and HYPERLYNX_EXPORTER::writeStackupInfo().
|
inlineinherited |
Definition at line 145 of file eda_item.h.
References IS_BROKEN, IS_CHANGED, IS_MOVING, IS_NEW, IS_PASTED, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), EDA_ITEM::ClearEditFlags(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_SYMBOL::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 229 of file board_item.cpp.
References EDA_ITEM::GetClass(), and UNIMPLEMENTED_FOR.
Referenced by collidesWithArea(), DRAWING_TOOL::DrawVia(), DRC_RTREE::Insert(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), and PCB_CONTROL::UpdateMessagePanel().
|
virtualinherited |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes.
This routine returns a COMPOUND shape (set of simple shapes which make up the pad for use with routing, collision determination, etc).
aLayer | in case of items spanning multiple layers, only the shapes belonging to aLayer will be returned. Pass UNDEFINED_LAYER to return shapes for all layers. |
aFlash | optional parameter allowing a caller to force the pad to be flashed (or not flashed) on the current layer (default is to honour the pad's setting and the current connections for the given layer). |
Reimplemented in PCB_DIMENSION_BASE, PCB_MARKER, PCB_TARGET, PCB_GROUP, FOOTPRINT, FP_TEXT, FP_TEXTBOX, PCB_BITMAP, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, ZONE, and PAD.
Definition at line 219 of file board_item.cpp.
References EDA_ITEM::GetClass(), and UNIMPLEMENTED_FOR.
Referenced by CN_VISITOR::checkZoneItemConnection(), collidesWithArea(), collidesWithCourtyard(), DRAWING_TOOL::DrawVia(), PCB_SELECTION_TOOL::hitTestDistance(), DRC_RTREE::Insert(), CN_VISITOR::operator()(), DRC_RTREE::QueryColliding(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and PCB_CONTROL::UpdateMessagePanel().
LSET BOARD::GetEnabledLayers | ( | ) | const |
A proxy function that calls the corresponding function in m_BoardSettings.
Definition at line 565 of file board.cpp.
References GetDesignSettings(), and BOARD_DESIGN_SETTINGS::GetEnabledLayers().
Referenced by PCB_CONTROL::AppendBoard(), PCB_ONE_LAYER_SELECTOR::buildList(), SELECT_COPPER_LAYERS_PAIR_DIALOG::buildList(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_PLOT::DIALOG_PLOT(), KIGFX::PCB_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_PLUGIN::format(), PCB_PLUGIN::formatBoardLayers(), GENDRILL_WRITER_BASE::GenDrillReportFile(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), PCB_LAYER_BOX_SELECTOR::getEnabledLayers(), PANEL_SETUP_LAYERS::getNonRemovableLayers(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), PANEL_SETUP_BOARD_STACKUP::ImportSettingsFrom(), DIALOG_PLOT::init_Dialog(), DIALOG_EXPORT_SVG::initDialog(), HYPERLYNX_PAD_STACK::IsEmpty(), PCBNEW_JOBS_HANDLER::JobExportGerbers(), BOARD_ITEM::layerMaskDescribe(), padsNeedUpdate(), PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP(), DIALOG_PLOT::Plot(), PCB_CONTROL::pruneItemLayers(), APPEARANCE_CONTROLS::rebuildLayers(), CADSTAR_PCB_ARCHIVE_LOADER::remapUnsureLayers(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TEST_PROVIDER_MISC::testDisabledLayers(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), DIALOG_PRINT_PCBNEW::TransferDataToWindow(), PANEL_SETUP_LAYERS::TransferDataToWindow(), PCB_PROPERTIES_PANEL::updateLists(), PCB_EDIT_FRAME::UpdateUserInterface(), PAD::ViewGetLOD(), PCB_VIA::ViewGetLOD(), and HYPERLYNX_EXPORTER::writeSinglePadStack().
|
inline |
Definition at line 363 of file board.h.
References m_fileFormatVersionAtLoad.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inline |
Definition at line 302 of file board.h.
References m_fileName.
Referenced by AddGerberX2Header(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), PCB_EDIT_FRAME::canCloseWindow(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), CreateHeaderInfoData(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), PCB_DRAW_PANEL_GAL::DisplayBoard(), PCB_EDIT_FRAME::doCloseWindow(), PCB_EDIT_FRAME::Export_IDF3(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), DIALOG_EXPORT_SVG::ExportSVGFile(), PCB_EDIT_FRAME::ExportToGenCAD(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), GENDRILL_WRITER_BASE::GenDrillReportFile(), PCB_EDIT_FRAME::GenFootprintsReport(), PCB_EDIT_FRAME::GetCurrentFileName(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), GENDRILL_WRITER_BASE::getDrillFileName(), PCB_EDIT_FRAME::GetLastPath(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), PCBNEW_JOBS_HANDLER::JobExportDxf(), PCBNEW_JOBS_HANDLER::JobExportGerber(), PCBNEW_JOBS_HANDLER::JobExportGerbers(), PCBNEW_JOBS_HANDLER::JobExportPdf(), PCBNEW_JOBS_HANDLER::JobExportPos(), PCBNEW_JOBS_HANDLER::JobExportStep(), FABMASTER::loadFootprints(), PCB_EDIT_FRAME::onBoardLoaded(), DIALOG_IMPORT_SETTINGS::OnBrowseClicked(), PCB_EDIT_FRAME::OnExportHyperlynx(), PCB_EDIT_FRAME::OnExportIDF3(), PCB_EDIT_FRAME::OnExportSTEP(), PCB_EDIT_FRAME::OnExportVRML(), DIALOG_GENDRILL::OnGenReportFile(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), PLOT_CONTROLLER::OpenPlotfile(), EAGLE_PLUGIN::packagePad(), ALTIUM_PCB::ParseModelsData(), PCB_PLOT_SVG::Plot(), DIALOG_PLOT::Plot(), PCB_EDIT_FRAME::RecreateBOMFileFromBoard(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), DIALOG_BOARD_STATISTICS::saveReportClicked(), PCB_EDIT_FRAME::SetLastPath(), StartPlotBoard(), PCB_EDIT_FRAME::UpdateTitle(), HYPERLYNX_EXPORTER::writeBoardInfo(), WriteDRCReport(), and DIALOG_DRC::writeReport().
|
inline |
Get the first footprint on the board or nullptr.
This is used primarily by the footprint editor which knows there is only one.
Definition at line 397 of file board.h.
References m_footprints.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BuildFootprintPolygonOutlines(), FOOTPRINT_EDIT_FRAME::CanCloseFPFromBoard(), FOOTPRINT_EDIT_FRAME::canCloseWindow(), FOOTPRINT_EDIT_FRAME::ClearModify(), BOARD_ADAPTER::createBoardPolygon(), FOOTPRINT_EDITOR_CONTROL::CutCopyFootprint(), PCB_CONTROL::DeleteItemCursor(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), EDIT_TOOL::Duplicate(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), PAD_TOOL::EnumeratePads(), FOOTPRINT_EDITOR_CONTROL::ExportFootprint(), PCB_TOOL_BASE::footprint(), PCB_VIEWER_TOOLS::footprint(), FOOTPRINT_EDIT_FRAME::GetDocumentExtents(), FOOTPRINT_EDIT_FRAME::GetLoadedFPID(), DISPLAY_FOOTPRINTS_FRAME::GetModel(), FOOTPRINT_EDIT_FRAME::GetModel(), FOOTPRINT_VIEWER_FRAME::GetModel(), FOOTPRINT_WIZARD_FRAME::GetModel(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), GROUP_TOOL::Group(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), ARRAY_CREATOR::Invoke(), FOOTPRINT_EDIT_FRAME::IsContentModified(), FOOTPRINT_EDIT_FRAME::IsCurrentFPFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), DRAWING_TOOL::PlaceImportedGraphics(), FOOTPRINT_EDITOR_CONTROL::Properties(), BOARD_COMMIT::Push(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), DIALOG_FOOTPRINT_CHECKER::runChecks(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), FOOTPRINT_EDIT_FRAME::setupUIConditions(), GROUP_TOOL::Ungroup(), DISPLAY_FOOTPRINTS_FRAME::UpdateMsgPanel(), FOOTPRINT_WIZARD_FRAME::UpdateMsgPanel(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), and DIALOG_FOOTPRINT_CHECKER::~DIALOG_FOOTPRINT_CHECKER().
|
inlineinherited |
Definition at line 142 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), BuildBoardPolygonOutlines(), collidesWithArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), BOARD_COMMIT::dirtyIntersectingZones(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_INSPECTION_TOOL::makeDRCEngine(), CONVERT_TOOL::makePolysFromChainedSegs(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), PAD_TOOL::RecombinePad(), Remove(), FOOTPRINT::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlineoverridevirtual |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented from EDA_ITEM.
Definition at line 353 of file board.h.
References GetBoundingBox(), and BOX2< Vec >::GetCenter().
FOOTPRINT * BOARD::GetFootprint | ( | const VECTOR2I & | aPosition, |
PCB_LAYER_ID | aActiveLayer, | ||
bool | aVisibleOnly, | ||
bool | aIgnoreLocked = false |
||
) | const |
Get a footprint by its bounding rectangle at aPosition on aLayer.
If more than one footprint is at aPosition, then the closest footprint on the active layer is returned. The distance is calculated via manhattan distance from the center of the bounding rectangle to aPosition.
aPosition | A VECTOR2I object containing the position to test. |
aActiveLayer | Layer to test. |
aVisibleOnly | Search only the visible layers if true. |
aIgnoreLocked | Ignore locked footprints when true. |
Definition at line 1841 of file board.cpp.
References BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), IsBackLayer(), IsFootprintLayerVisible(), m_footprints, VECTOR2< T >::x, and VECTOR2< T >::y.
|
virtualinherited |
Reimplemented in PCB_SHAPE, PCB_TRACK, and ZONE.
Definition at line 310 of file eda_item.cpp.
References EDA_ITEM::GetTypeDesc().
Referenced by PROPERTIES_PANEL::rebuildProperties().
|
inline |
Adds an item to the container.
aMode | decides whether the item is added in the beginning or at the end of the list. |
aSkipConnectivity | skip connectivity update (useful for file loading, when the connectivity is updated after end of loading). |
Definition at line 366 of file board.h.
References m_generator.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inline |
Definition at line 472 of file board.h.
References m_highLight, and HIGH_LIGHT_INFO::m_netCodes.
Referenced by DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildFilterLists(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), and DIALOG_NET_INSPECTOR::OnBoardHighlightNetChanged().
BOARD_ITEM * BOARD::GetItem | ( | const KIID & | aID | ) | const |
Definition at line 997 of file board.cpp.
References Drawings(), Footprints(), DELETED_BOARD_ITEM::GetInstance(), group, m_groups, m_markers, EDA_ITEM::m_Uuid, niluuid, pad, Tracks(), and Zones().
Referenced by CollisionMatchesExpected(), ConvertKIIDsToCrossReferences(), PCB_BASE_FRAME::FocusOnItems(), PCB_BASE_FRAME::GetItem(), BOARD_INSPECTION_TOOL::InspectDRCError(), InvalidMatchesExpected(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_CLEANUP_GRAPHICS::OnSelectItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnSelectItem(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), ResolveTextVar(), and DRC_TEST_PROVIDER_DISALLOW::Run().
|
overridevirtual |
Return a user-visible description string of this item.
This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from EDA_ITEM.
Definition at line 950 of file board.cpp.
|
inlinevirtualinherited |
Return the primary layer this item is on.
Reimplemented in FOOTPRINT, PAD, and ZONE.
Definition at line 180 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by Add(), CN_LIST::Add(), BOARD_ADAPTER::addFootprintShapes(), TEARDROP_MANAGER::addTeardropsOnTracks(), GRAPHICS_CLEANER::areEquivalent(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BuildBoardPolygonOutlines(), PNS::ITEM::collideSimple(), TEARDROP_MANAGER::ComputePointsOnPadVia(), CreateBoardSection(), PCB_BASE_FRAME::CreateNewFootprint(), TEARDROP_MANAGER::createTeardrop(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), extractDiffPairCoupledItems(), EDIT_TOOL::FilletTracks(), TEARDROP_MANAGER::findAnchorPointsOnTrack(), TEARDROP_MANAGER::findTouchingTrack(), FP_SHAPE::Flip(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), FootprintWriteShape(), PCB_PLUGIN::format(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetLayer(), PAD::GetLayer(), ZONE::GetLayer(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), GetPad(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_ITEM::IsOnCopperLayer(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), TEARDROP_MANAGER::isViaAndTrackInSameZone(), itemIsIncludedByFilter(), FABMASTER::loadFootprints(), FABMASTER::loadOutline(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAddField(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), BRDITEMS_PLOTTER::PlotPcbGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), DRC_ENGINE::ProcessAssertions(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PCB_CONTROL::pruneItemLayers(), PAD_TOOL::RecombinePad(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), shapesNeedUpdate(), GLOBAL_EDIT_TOOL::swapBoardItem(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::SyncWorld(), DRC_TEST_PROVIDER_MISC::testTextVars(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), textsNeedUpdate(), TRACK_VIA_DESC::TRACK_VIA_DESC(), DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataToWindow(), BOARD_ADAPTER::transformFPShapesToPolySet(), FOOTPRINT::TransformFPShapesToPolySet(), PCB_CONTROL::UpdateMessagePanel(), FP_TEXT::ViewGetLayers(), FP_TEXTBOX::ViewGetLayers(), PCB_TRACK::ViewGetLayers(), FP_TEXT::ViewGetLOD(), FP_TEXTBOX::ViewGetLOD(), FP_ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
const PCB_LAYER_ID BOARD::GetLayerID | ( | const wxString & | aLayerName | ) | const |
Return the ID of a layer.
Definition at line 432 of file board.cpp.
References GetStandardLayerName(), m_layers, PCB_LAYER_ID_COUNT, ToLAYER_ID(), and UNDEFINED_LAYER.
Referenced by PCB_EXPR_VAR_REF::GetValue(), and PCB_PARSER::parseBoardStackup().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 94 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), GetLayerName(), GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by FP_SHAPE::GetItemDescription(), PCB_DIMENSION_BASE::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_TEXTBOX::GetItemDescription(), PCB_TRACK::GetItemDescription(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), and FOOTPRINT::ResolveTextVar().
wxString BOARD::GetLayerName | ( | PCB_LAYER_ID | aLayer | ) | const |
Return the name of a aLayer.
aLayer | is the PCB_LAYER_ID of the layer. |
Definition at line 452 of file board.cpp.
References GetStandardLayerName(), IsLayerEnabled(), m_layers, and LAYER::m_userName.
Referenced by GERBER_JOBFILE_WRITER::addJSONMaterialStackup(), DSN::SPECCTRA_DB::buildLayerMaps(), PCB_PROPERTIES_PANEL::createPGProperty(), PANEL_SETUP_BOARD_STACKUP::createRowData(), PANEL_PCBNEW_COLOR_SETTINGS::createSwatches(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_PLOT::DIALOG_PLOT(), GRID_CELL_LAYER_RENDERER::Draw(), DRAWING_TOOL::DrawSpecificationStackup(), PCB_PLUGIN::formatBoardLayers(), GENDRILL_WRITER_BASE::GenDrillReportFile(), ZONE::GetItemDescription(), BOARD_ITEM::GetLayerName(), PCB_LAYER_BOX_SELECTOR::getLayerName(), PCB_LAYER_SELECTOR::getLayerName(), ZONE::GetMsgPanelInfo(), ZONE_SEARCH_HANDLER::GetResultCell(), GRID_CELL_LAYER_SELECTOR::GetValue(), PRIVATE_LAYERS_GRID_TABLE::GetValue(), DIALOG_PLOT::init_Dialog(), DIALOG_EXPORT_SVG::initDialog(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), PCBNEW_JOBS_HANDLER::JobExportGerbers(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::layerDesc(), DRC_TEST_PROVIDER_SLIVER_CHECKER::layerDesc(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), CADSTAR_PCB_ARCHIVE_LOADER::Load(), PCBNEW_PRINTOUT::OnPrintPage(), DIALOG_PLOT::Plot(), APPEARANCE_CONTROLS::rebuildLayers(), BOARD_INSPECTION_TOOL::reportHeader(), DIALOG_GLOBAL_DELETION::SetCurrentLayer(), ZONE_SETTINGS::SetupLayersList(), PANEL_SETUP_LAYERS::showBoardLayerNames(), StartPlotBoard(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), DIALOG_PRINT_PCBNEW::TransferDataToWindow(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), DIALOG_PAD_PROPERTIES::UpdateLayersDropdown(), HYPERLYNX_EXPORTER::writeDevices(), WriteDRCReport(), HYPERLYNX_EXPORTER::writeNetObjects(), HYPERLYNX_EXPORTER::writeSinglePadStack(), and HYPERLYNX_EXPORTER::writeStackupInfo().
|
inlinevirtualinherited |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented in PCB_GROUP, PAD, PCB_VIA, and ZONE.
Definition at line 185 of file board_item.h.
References BOARD_ITEM::m_layer, and UNDEFINED_LAYER.
Referenced by PCB_GRID_HELPER::BestSnapAnchor(), KI_TEST::CheckFpShape(), collidesWithArea(), BOARD_COMMIT::dirtyIntersectingZones(), APPEARANCE_CONTROLS::doApplyLayerPreset(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DRAWING_TOOL::DrawVia(), DRC_ENGINE::EvalRules(), existsOnLayerFunc(), extractDiffPairCoupledItems(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), hash_board_item(), BOARD_INSPECTION_TOOL::InspectClearance(), PNS_KICAD_IFACE::IsItemVisible(), isMaskAperture(), BOARD_ITEM::layerMaskDescribe(), FABMASTER::loadZone(), PCB_DIMENSION_BASE::Mirror(), PCB_GRID_HELPER::nearestAnchor(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_CLEANUP_GRAPHICS::OnSelectItem(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), DRC_ENGINE::ProcessAssertions(), EDIT_TOOL::Properties(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PCB_SELECTION_CONDITIONS::sameLayerFunc(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and PCB_CONTROL::UpdateMessagePanel().
LAYER_T BOARD::GetLayerType | ( | PCB_LAYER_ID | aLayer | ) | const |
Return the type of the copper layer given by aLayer.
aLayer | A layer index, like B_Cu, etc. |
Definition at line 486 of file board.cpp.
References IsCopperLayer(), IsLayerEnabled(), LT_SIGNAL, m_layers, and LAYER::m_type.
Referenced by PCB_PLUGIN::formatBoardLayers(), DSN::SPECCTRA_DB::FromBOARD(), GetGerberFileFunctionAttribute(), PANEL_SETUP_LAYERS::showLayerTypes(), and PANEL_SETUP_LAYERS::TransferDataFromWindow().
|
virtualinherited |
Return a pointer to an image to be used in menus.
The default version returns the right arrow image. Override this function to provide object specific menu images.
Reimplemented in LIB_FIELD, LIB_PIN, LIB_SHAPE, LIB_TEXT, LIB_TEXTBOX, SCH_BITMAP, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_JUNCTION, SCH_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, GERBER_DRAW_ITEM, PCB_GROUP, FOOTPRINT, FP_SHAPE, FP_TEXT, FP_TEXTBOX, PAD, PCB_BITMAP, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_MARKER, PCB_SHAPE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.
Definition at line 269 of file eda_item.cpp.
References dummy_item.
Referenced by SELECTION_TOOL::doSelectionMenu().
|
overridevirtual |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
aList | is the list to populate. |
Reimplemented from EDA_ITEM.
Definition at line 1292 of file board.cpp.
References _, Footprints(), Format(), GetConnectivity(), m_tracks, pad, and PCB_VIA_T.
Referenced by PCB_CONTROL::UpdateMessagePanel().
std::set< wxString > BOARD::GetNetClassAssignmentCandidates | ( | ) | const |
Return the set of netname candidates for netclass assignment.
Definition at line 1501 of file board.cpp.
References m_NetInfo.
Referenced by DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), and PANEL_SETUP_RULES::onScintillaCharAdded().
|
inline |
Definition at line 796 of file board.h.
References NETINFO_LIST::GetNetCount(), and m_NetInfo.
Referenced by CreateSignalsSection(), and PCB_PARSER::parseZONE().
|
inline |
|
inline |
Definition at line 765 of file board.h.
References m_NetInfo.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), BOOST_AUTO_TEST_CASE(), CONNECTIVITY_DATA::Build(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildFilterLists(), DIALOG_NET_INSPECTOR::buildNetsList(), FOOTPRINT_VIEWER_FRAME::ClickOnFootprintList(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DSN::SPECCTRA_DB::exportNETCLASS(), DSN::SPECCTRA_DB::FromBOARD(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), FABMASTER::loadEtch(), FABMASTER::loadFootprints(), PCB_EDIT_FRAME::LoadProjectSettings(), FABMASTER::loadVias(), FABMASTER::loadZone(), FABMASTER::loadZones(), main(), APPEARANCE_CONTROLS::onNetclassContextMenu(), DIALOG_NET_INSPECTOR::onRenameNet(), DIALOG_COPPER_ZONE::readNetInformation(), NET_GRID_TABLE::Rebuild(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_FIND::search(), NETS_SEARCH_HANDLER::Search(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), APPEARANCE_CONTROLS::showNetclass(), TestForExistingItem(), PCB_PROPERTIES_PANEL::updateLists(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and HYPERLYNX_EXPORTER::writeNets().
unsigned BOARD::GetNodesCount | ( | int | aNet = -1 | ) | const |
aNet | Only count nodes belonging to this net. |
Definition at line 1214 of file board.cpp.
References Footprints(), and pad.
Referenced by DIALOG_NET_INSPECTOR::OnBoardItemAdded(), and DIALOG_NET_INSPECTOR::updateNet().
PAD * BOARD::GetPad | ( | const PCB_TRACK * | aTrace, |
ENDPOINT_T | aEndPoint | ||
) | const |
Find a pad connected to aEndPoint of aTrace.
aTrace | A pointer to a PCB_TRACK object to hit test against. |
aEndPoint | The end point of aTrace the hit test against. |
Definition at line 1606 of file board.cpp.
References PCB_TRACK::GetEndPoint(), BOARD_ITEM::GetLayer(), and GetPad().
Find a pad aPosition on aLayer.
aPosition | A VECTOR2I object containing the position to hit test. |
aLayerMask | A layer or layers to mask the hit test. |
Definition at line 1586 of file board.cpp.
References LSET::AllCuMask(), m_footprints, and pad.
Referenced by GetPad().
PAD * BOARD::GetPad | ( | std::vector< PAD * > & | aPadList, |
const VECTOR2I & | aPosition, | ||
LSET | aLayerMask | ||
) | const |
Locate the pad connected at aPosition on aLayer starting at list position aPad.
This function uses a fast search in this sorted pad list and it is faster than GetPadFast(). This list is a sorted pad list must be built before calling this function.
aPadList | is the list of pads candidates (a std::vector<PAD*>). |
aPosition | A VECTOR2I object containing the position to test. |
aLayerMask | A layer or layers to mask the hit test. |
Definition at line 1635 of file board.cpp.
References delta, pad, VECTOR2< T >::x, and VECTOR2< T >::y.
Return pad found at aPosition on aLayerMask using the fast search method.
The fast search method only works if the pad list has already been built.
aPosition | A VECTOR2I object containing the position to hit test. |
aLayerMask | A layer or layers to mask the hit test. |
Definition at line 1616 of file board.cpp.
References Footprints(), and pad.
const std::vector< PAD * > BOARD::GetPads | ( | ) | const |
Return a reference to a list of all the pads.
The returned list is not sorted and contains pointers to PADS, but those pointers do not convey ownership of the respective PADs.
Definition at line 1965 of file board.cpp.
References Footprints(), and pad.
Referenced by CreatePadsShapesSection(), and DIALOG_COPPER_ZONE::sortNetsByPadCount().
|
inline |
Definition at line 626 of file board.h.
References m_paper.
Referenced by PCB_CONTROL::AppendBoard(), BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), PCB_PLUGIN::formatGeneral(), PCB_BASE_FRAME::GetPageSettings(), PCB_BASE_FRAME::GetPageSizeIU(), initializePlotter(), ALTIUM_PCB::Parse(), PCB_PLOT_SVG::Plot(), PCB_EDIT_FRAME::RebuildAndRefresh(), PCB_EDIT_FRAME::SetBoard(), PCB_EDIT_FRAME::SetPageSettings(), and StartPlotBoard().
|
inlineinherited |
Definition at line 163 of file board_item.h.
References EDA_ITEM::m_parent.
Referenced by PCB_POINT_EDITOR::addCorner(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), PNS_KICAD_IFACE::Commit(), FOOTPRINT::CoverageRatio(), BOARD_ITEM::DeleteStructure(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_PLUGIN::format(), FormatProbeItem(), BOARD_ITEM::GetBoard(), getClosestGroup(), FP_TEXT::GetItemDescription(), FP_TEXTBOX::GetItemDescription(), BOARD_ITEM::GetParentFootprint(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), FP_TEXT::GetShownText(), FP_TEXTBOX::GetShownText(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), ALTIUM_PCB::HelperShapeSetLocalCoord(), GENERAL_COLLECTOR::Inspect(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), PCB_SELECTION_TOOL::itemPassesFilter(), memberOfFunc(), EDIT_TOOL::MoveExact(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BOARD_COMMIT::Push(), PCB_PARSER::resolveGroups(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), BOARD_ITEM::SwapItemData(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), FP_ZONE::ViewGetLOD(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Definition at line 239 of file board_item.cpp.
References BOARD_ITEM::GetParent(), PCB_FOOTPRINT_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by CN_CONNECTIVITY_ALGO::Add(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), PCB_SHAPE::GetParentFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), DRC_ENGINE::IsNetTieExclusion(), LEGACY_PLUGIN::loadMODULE_TEXT(), PAD_TOOL::RecombinePad(), PAD::SameLogicalPadAs(), PAD::SharesNetTieGroup(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 72 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getClosestGroup(), GroupLegalOps(), BOARD_ITEM::IsLocked(), memberOfFunc(), Move(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), Remove(), FOOTPRINT::Remove(), GROUP_TOOL::RemoveFromGroup(), BOARD_ITEM::SwapItemData(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and PCB_GROUP::WithinScope().
|
inline |
Definition at line 629 of file board.h.
References m_plotOptions.
Referenced by AddGerberX2Header(), BOARD_ADAPTER::addShape(), PLACEFILE_GERBER_WRITER::CreatePlaceFile(), PCB_PLUGIN::formatSetup(), PCB_BASE_FRAME::GetPlotSettings(), PANEL_SETUP_FORMATTING::ImportSettingsFrom(), PCBNEW_JOBS_HANDLER::JobExportGerbers(), and DIALOG_GENDRILL::UpdateDrillParams().
|
overridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 367 of file board.cpp.
References BOARD_ITEM::ZeroOffset.
|
inline |
Definition at line 440 of file board.h.
References m_project.
Referenced by AddGerberX2Header(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), EXPORTER_STEP::composePCB(), CreateHeaderInfoData(), EXPORTER_STEP::EXPORTER_STEP(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), GetFootprintLibraryTable(), idf_export_footprint(), RENDER_3D_RAYTRACE::load3DModels(), RENDER_3D_OPENGL::load3dModels(), DIALOG_PLOT::Plot(), APPEARANCE_CONTROLS::rebuildNets(), ResolveTextVar(), DRC_TEST_PROVIDER_LIBRARY_PARITY::Run(), SaveBoard(), ROUTER_TOOL::saveRouterDebugLog(), PCB_EDIT_FRAME::SetPageSettings(), StartPlotBoard(), DRC_TEST_PROVIDER_MISC::testTextVars(), and WriteDRCReport().
|
inline |
Definition at line 332 of file board.h.
References m_properties.
Referenced by PCB_CONTROL::AppendBoard(), PCB_PLUGIN::formatProperties(), PCB_EDIT_FRAME::SetPageSettings(), and StartPlotBoard().
void BOARD::GetSortedPadListByXthenYCoord | ( | std::vector< PAD * > & | aVector, |
int | aNetCode = -1 |
||
) | const |
First empties then fills the vector with all pads and sorts them by increasing x coordinate, and for increasing y coordinate for same values of x coordinates.
The vector only holds pointers to the pads and those pointers are only references to pads which are owned by the BOARD through other links.
aVector | Where to put the pad pointers. |
aNetCode | = the netcode filter: = -1 to build the full pad list. = a given netcode to build the pad list relative to the given net |
Definition at line 1743 of file board.cpp.
References Footprints(), pad, and sortPadsByXthenYCoord().
|
inlinevirtualinherited |
Return the coordinates that should be used for sorting this element visually compared to other elements.
For instance, for lines the midpoint might be a better sorting point than either end.
Reimplemented in SCH_LINE.
Definition at line 265 of file eda_item.h.
References EDA_ITEM::GetPosition().
|
inlinestatic |
Return an "English Standard" name of a PCB layer when given aLayerNumber.
This function is static so it can be called without a BOARD instance. Use GetLayerName() if want the layer names of a specific BOARD, which could be different than the default if the user has renamed any copper layers.
aLayerId | is the layer identifier (index) to fetch. |
Definition at line 696 of file board.h.
References LayerName().
Referenced by BOARD(), GRID_CELL_LAYER_RENDERER::Draw(), DIALOG_EXPORT_SVG::ExportSVGFile(), GetLayerID(), BOARD_ITEM::GetLayerName(), PCB_LAYER_BOX_SELECTOR::getLayerName(), GetLayerName(), and GRID_CELL_LAYER_SELECTOR::GetValue().
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 82 of file board_item.cpp.
References DEFAULT_LINE_WIDTH, EDA_IU_SCALE::mmToIU(), and pcbIUScale.
Referenced by CONVERT_TOOL::CreatePolys(), and PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog().
|
inline |
Definition at line 623 of file board.h.
References PCB_PLOT_PARAMS::GetPlotViaOnMaskLayer(), and m_plotOptions.
Referenced by PCB_VIA::IsTented(), and PANEL_SETUP_MASK_AND_PASTE::TransferDataToWindow().
|
inline |
Definition at line 288 of file board.h.
References m_timeStamp.
Referenced by FOOTPRINT::BuildCourtyardCaches(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), and DRC_ENGINE::RunTests().
|
inline |
Definition at line 632 of file board.h.
References m_titles.
Referenced by AddGerberX2Header(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), PCB_CONTROL::AppendBoard(), CreateHeaderInfoData(), PCB_PLUGIN::formatGeneral(), PCB_BASE_FRAME::GetTitleBlock(), ResolveTextVar(), PCB_EDIT_FRAME::SetPageSettings(), and StartPlotBoard().
|
inline |
std::tuple< int, double, double > BOARD::GetTrackLength | ( | const PCB_TRACK & | aTrack | ) | const |
Return data on the length and number of track segments connected to a given track.
This uses the connectivity data for the board to calculate connections
aTrack | Starting track (can also be a via) to check against for connection. |
Definition at line 1758 of file board.cpp.
References SEG::A, SEG::B, EuclideanNorm(), BOARD_ITEM::GetBoard(), GetConnectivity(), GetDesignSettings(), BOARD_STACKUP::GetLayerDistance(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), SEG::Length(), BOARD_DESIGN_SETTINGS::m_UseHeightForLengthCalcs, pad, PCB_ARC_T, PCB_VIA_T, and via.
Referenced by NETINFO_ITEM::GetMsgPanelInfo(), and PCB_TRACK::GetMsgPanelInfo().
|
inherited |
Return a translated description of the type for this EDA_ITEM for display in user facing messages.
Definition at line 301 of file eda_item.cpp.
References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().
GAL_SET BOARD::GetVisibleElements | ( | ) | const |
Return a set of all the element categories that are visible.
Definition at line 625 of file board.cpp.
References PROJECT::GetLocalSettings(), m_project, PROJECT_LOCAL_SETTINGS::m_VisibleItems, and GAL_SET::set().
Referenced by APPEARANCE_CONTROLS::getVisibleObjects(), and PCB_EDIT_FRAME::setupUIConditions().
LSET BOARD::GetVisibleLayers | ( | ) | const |
A proxy function that calls the correspondent function in m_BoardSettings.
Definition at line 579 of file board.cpp.
References LSET::AllLayersMask(), PROJECT::GetLocalSettings(), m_project, and PROJECT_LOCAL_SETTINGS::m_VisibleLayers.
Referenced by ComputeBoundingBox(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), GENDRILL_WRITER_BASE::genDrillMapFile(), PCB_BASE_FRAME::GetCollectorsGuide(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), APPEARANCE_CONTROLS::getVisibleLayers(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::Selectable(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), PAD::ViewGetLOD(), and PCB_VIA::ViewGetLOD().
|
inlineinherited |
Definition at line 76 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::x.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetY(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 82 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::y.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetX(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
std::list< ZONE * > BOARD::GetZoneList | ( | bool | aIncludeZonesInFootprints = false | ) | const |
Definition at line 1905 of file board.cpp.
References m_footprints, and Zones().
|
overridevirtual |
Fetch the zone settings for this container.
Reimplemented from BOARD_ITEM_CONTAINER.
Definition at line 688 of file board.cpp.
References BOARD_DESIGN_SETTINGS::GetDefaultZoneSettings(), and GetDesignSettings().
Referenced by LEGACY_PLUGIN::loadSETUP().
BOARD::GroupLegalOpsField BOARD::GroupLegalOps | ( | const PCB_SELECTION & | selection | ) | const |
Check which selection tool group operations are legal given the selection.
Definition at line 2171 of file board.cpp.
References BOARD::GroupLegalOpsField::create, BOARD_ITEM::GetParentGroup(), PCB_GROUP_T, BOARD::GroupLegalOpsField::removeItems, and BOARD::GroupLegalOpsField::ungroup.
|
inline |
The groups must maintain the following invariants.
These are checked by GroupsSanityCheck():
Definition at line 327 of file board.h.
References m_groups.
Referenced by PCB_CONTROL::AppendBoard(), PCB_PLUGIN::format(), GroupsSanityCheckInternal(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), and TestForExistingItem().
|
inline |
wxString BOARD::GroupsSanityCheck | ( | bool | repair = false | ) |
Consistency check of internal m_groups structure.
repair | if true, modify groups structure until it passes the sanity check. |
Definition at line 2092 of file board.cpp.
References GroupsSanityCheckInternal().
Referenced by PCB_PARSER::resolveGroups(), and PCB_PLUGIN::Save().
wxString BOARD::GroupsSanityCheckInternal | ( | bool | repair | ) |
repair | if true, make one modification to groups structure that brings it closer to passing the sanity check. |
Definition at line 2105 of file board.cpp.
References group, Groups(), and Remove().
Referenced by GroupsSanityCheck().
|
inlineinherited |
Definition at line 143 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), FOOTPRINT::IsConflicting(), ZONE::IsConflicting(), SCH_MOVE_TOOL::Main(), SCH_SCREEN::MarkConnections(), SCH_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::orthoLineDrag(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and EE_SELECTION_TOOL::selectMultiple().
|
inlinevirtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 128 of file board_item.h.
Referenced by DRAWING_TOOL::DrawVia(), hasDrilledHole(), DRC_RTREE::Insert(), BOARD_INSPECTION_TOOL::InspectClearance(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and PCB_CONTROL::UpdateMessagePanel().
|
inlinevirtualinherited |
Check if this item has line stoke properties.
Reimplemented in PCB_SHAPE.
Definition at line 172 of file board_item.h.
|
inline |
Disable net highlight.
Definition at line 502 of file board.h.
References HighLightON().
void BOARD::HighLightON | ( | bool | aValue = true | ) |
Enable or disable net highlighting.
If a netcode >= 0 has been set with SetHighLightNet and aValue is true, the net will be highlighted. If aValue is false, net highlighting will be disabled regardless of the highlight netcode being set.
Definition at line 2082 of file board.cpp.
References InvokeListeners(), m_highLight, HIGH_LIGHT_INFO::m_highLightOn, and BOARD_LISTENER::OnBoardHighlightNetChanged().
Referenced by PCB_EDIT_FRAME::ExecuteRemoteCommand(), BOARD_INSPECTION_TOOL::highlightNet(), HighLightOFF(), and APPEARANCE_CONTROLS::onNetclassContextMenu().
|
inlinevirtualinherited |
Test if aRect intersects this item.
aRect | A reference to a BOX2I object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented in LIB_ITEM, LIB_PIN, LIB_SHAPE, LIB_TEXT, LIB_TEXTBOX, SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, DS_DRAW_ITEM_BASE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, PCB_GROUP, FOOTPRINT, FP_TEXT, FP_TEXTBOX, PAD, PCB_BITMAP, PCB_DIMENSION_BASE, PCB_SHAPE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, PCB_ARC, ZONE, and GERBER_DRAW_ITEM.
Definition at line 235 of file eda_item.h.
|
inlinevirtualinherited |
Test if aPosition is inside or on the boundary of this item.
aPosition | A reference to a VECTOR2I object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented in RATSNEST_VIEW_ITEM, SCH_SHEET, FP_TEXT, FP_TEXTBOX, PCB_DIMENSION_BASE, PCB_TEXT, PCB_TEXTBOX, LIB_FIELD, LIB_ITEM, LIB_PIN, LIB_SHAPE, LIB_TEXT, LIB_TEXTBOX, SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, DS_DRAW_ITEM_BASE, DS_DRAW_ITEM_LINE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_PAGE, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, PCB_GROUP, FOOTPRINT, PAD, PCB_BITMAP, PCB_MARKER, PCB_SHAPE, PCB_TARGET, PCB_TRACK, PCB_ARC, PCB_VIA, ZONE, and GERBER_DRAW_ITEM.
Definition at line 222 of file eda_item.h.
Referenced by PCB_GRID_HELPER::AlignToNearestPad(), PL_SELECTION_TOOL::guessSelectionCandidates(), EE_SELECTION_TOOL::GuessSelectionCandidates(), LIB_ITEM::HitTest(), DS_DRAW_ITEM_BASE::HitTest(), EE_COLLECTOR::Inspect(), GERBER_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), PCB_SELECTION_TOOL::selectionContains(), and PCB_SELECTION_TOOL::selectMultiple().
void BOARD::IncrementTimeStamp | ( | ) |
Definition at line 226 of file board.cpp.
References m_CachesMutex, m_CopperItemRTreeCache, m_CopperZoneRTreeCache, m_DRCCopperZones, m_DRCMaxClearance, m_DRCMaxPhysicalClearance, m_DRCZones, m_EnclosedByAreaCache, m_IntersectsAreaCache, m_IntersectsBCourtyardCache, m_IntersectsCourtyardCache, m_IntersectsFCourtyardCache, m_LayerExpressionCache, m_timeStamp, and m_ZoneBBoxCache.
Referenced by ZONE_FILLER_TOOL::FillAllZones(), DRC_ENGINE::InitEngine(), PCB_BASE_FRAME::OnModify(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD_COMMIT::Revert(), DRC_ENGINE::RunTests(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
inlineprivate |
Definition at line 1164 of file board.h.
References m_listeners.
Referenced by Add(), FinalizeBulkAdd(), FinalizeBulkRemove(), HighLightON(), OnItemChanged(), OnItemsChanged(), Remove(), ResetNetHighLight(), SetHighLightNet(), and SynchronizeNetsAndNetClasses().
|
inlineinherited |
Definition at line 108 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_FRAME::FocusOnItem(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlinevirtualinherited |
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
Reimplemented in BOARD_CONNECTED_ITEM, and ZONE.
Definition at line 115 of file board_item.h.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), DRC_ENGINE::EvalRules(), PNS::NODE::FindItemByParent(), BOARD_INSPECTION_TOOL::getItemDescription(), inDiffPairFunc(), BOARD_INSPECTION_TOOL::InspectClearance(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), and DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones().
bool BOARD::IsElementVisible | ( | GAL_LAYER_ID | aLayer | ) | const |
Test whether a given element category is visible.
aLayer | is from the enum by the same name. |
Definition at line 631 of file board.cpp.
References GAL_LAYER_ID_START, PROJECT::GetLocalSettings(), m_project, and PROJECT_LOCAL_SETTINGS::m_VisibleItems.
Referenced by ComputeBoundingBox(), KIGFX::PCB_PAINTER::draw(), FOOTPRINT::GetBoundingBox(), PCB_BASE_FRAME::GetCollectorsGuide(), PCB_SELECTION_TOOL::getCollectorsGuide(), PCB_EDIT_FRAME::IsElementVisible(), IsFootprintLayerVisible(), PCB_SELECTION_TOOL::Selectable(), PCBNEW_PRINTOUT::setupViewLayers(), and PCB_DRAW_PANEL_GAL::SyncLayersVisibility().
|
inline |
Definition at line 355 of file board.h.
References m_drawings, m_footprints, m_tracks, and m_zones.
Referenced by BOARD_NETLIST_UPDATER::estimateFootprintInsertionPosition(), PCB_EDITOR_CONDITIONS::hasItemsFunc(), EDIT_TOOL::Init(), and DIALOG_BOARD_REANNOTATE::OnApplyClick().
|
inlineinherited |
Definition at line 107 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Find out if the board is being used to hold a single footprint for editing/viewing.
Definition at line 295 of file board.h.
References FPHOLDER, and m_boardUse.
Referenced by BOARD_ADAPTER::createBoardPolygon(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), and BOARD_ADAPTER::InitSettings().
bool BOARD::IsFootprintLayerVisible | ( | PCB_LAYER_ID | aLayer | ) | const |
Expect either of the two layers on which a footprint can reside, and returns whether that layer is visible.
aLayer | is one of the two allowed layers for footprints: F_Cu or B_Cu |
Definition at line 670 of file board.cpp.
References B_Cu, F_Cu, IsElementVisible(), LAYER_MOD_BK, and LAYER_MOD_FR.
Referenced by GetFootprint().
|
inlineinherited |
Definition at line 201 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
inline |
Definition at line 488 of file board.h.
References m_highLight, and HIGH_LIGHT_INFO::m_highLightOn.
Referenced by PCB_EDIT_FRAME::ExecuteRemoteCommand(), and DIALOG_NET_INSPECTOR::OnBoardHighlightNetChanged().
|
inlinevirtualinherited |
Definition at line 250 of file board_item.h.
References BOARD_ITEM::m_isKnockout.
Referenced by BOARD_ADAPTER::addText(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), PCB_TEXT::GetBoundingBox(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), PCB_TEXT_DESC::PCB_TEXT_DESC(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotPcbGraphicItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), and PCB_TEXT::TextHitTest().
bool BOARD::IsLayerEnabled | ( | PCB_LAYER_ID | aLayer | ) | const |
A proxy function that calls the correspondent function in m_BoardSettings tests whether a given layer is enabled.
aLayer | = The layer to be tested |
Definition at line 591 of file board.cpp.
References GetDesignSettings(), and BOARD_DESIGN_SETTINGS::IsLayerEnabled().
Referenced by GRID_CELL_LAYER_SELECTOR::BeginEdit(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), GetLayerName(), GetLayerType(), BOARD_ADAPTER::Is3dLayerEnabled(), PCB_LAYER_SELECTOR::isLayerEnabled(), SetLayerName(), SetLayerType(), PANEL_SETUP_LAYERS::setUserDefinedLayerCheckBoxes(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
bool BOARD::IsLayerVisible | ( | PCB_LAYER_ID | aLayer | ) | const |
A proxy function that calls the correspondent function in m_BoardSettings tests whether a given layer is visible.
aLayer | is the layer to be tested. |
Definition at line 571 of file board.cpp.
References GetDesignSettings(), PROJECT::GetLocalSettings(), BOARD_DESIGN_SETTINGS::IsLayerEnabled(), m_project, and PROJECT_LOCAL_SETTINGS::m_VisibleLayers.
Referenced by FOOTPRINT::GetBoundingBox(), PCB_BASE_FRAME::GetDocumentExtents(), BOARD_ADAPTER::Is3dLayerEnabled(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), PCB_SELECTION_TOOL::Selectable(), and PCB_DRAW_PANEL_GAL::SyncLayersVisibility().
|
virtualinherited |
Reimplemented in FOOTPRINT, and PAD.
Definition at line 71 of file board_item.cpp.
References FPHOLDER, BOARD_ITEM::GetBoard(), GetBoardUse(), BOARD_ITEM::GetParentGroup(), BOARD_ITEM::IsLocked(), and BOARD_ITEM::m_isLocked.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), KI_TEST::CheckFpShape(), KI_TEST::CheckFpZone(), PCB_CONTROL::DeleteItemCursor(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromSESSION(), PCB_GROUP::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GROUP_TOOL::Group(), PCB_SELECTION_CONDITIONS::HasLockedItems(), PCB_SELECTION_CONDITIONS::HasUnlockedItems(), ROUTER_TOOL::InlineDrag(), GENERAL_COLLECTOR::Inspect(), BOARD_ITEM::IsLocked(), PAD::IsLocked(), PCB_SELECTION_TOOL::itemPassesFilter(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), TRACKS_CLEANER::mergeCollinearSegments(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_POINT_EDITOR::OnSelectionChange(), ZONE_SETTINGS::operator<<(), PCB_SELECTION_TOOL::RequestSelection(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataToWindow(), BOARD_ITEM::ViewGetLayers(), PCB_TRACK::ViewGetLayers(), and PCB_VIA::ViewGetLayers().
|
inlineinherited |
Definition at line 102 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 104 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Swap().
|
inlineinherited |
Definition at line 103 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_MOVE_TOOL::getConnectedDragItems(), DIALOG_PIN_PROPERTIES::getSyncPinsMessage(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
|
inlinevirtualinherited |
Reimplemented in PAD, PCB_TRACK, and ZONE.
Definition at line 123 of file board_item.h.
References BOARD_ITEM::GetLayer(), and IsCopperLayer().
Referenced by CN_CONNECTIVITY_ALGO::Add(), FOOTPRINT::CheckNetTies(), DRC_ENGINE::EvalRules(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_CONNECTED_ITEM::SetNetCode(), and PCB_CONTROL::UpdateMessagePanel().
|
inlinevirtualinherited |
Test to see if this object is on the given layer.
Virtual so objects like PAD, which reside on multiple layers can do their own form of testing.
aLayer | The layer to test for. |
Reimplemented in PCB_GROUP, FOOTPRINT, PAD, PCB_VIA, and ZONE.
Definition at line 245 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), CN_VISITOR::checkZoneItemConnection(), BOARD_ADAPTER::createLayers(), existsOnLayerFunc(), GENERAL_COLLECTOR::Inspect(), PCB_LAYER_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), isEdge(), PNS_KICAD_IFACE::IsItemVisible(), VIAPAD::IsOnLayer(), BOARD_COMMIT::Push(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges(), and PCB_CONTROL::UpdateMessagePanel().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in LIB_TEXTBOX, SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 420 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 110 of file eda_item.h.
References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw().
|
inlineinherited |
Definition at line 106 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), HIERARCHY_PANE::UpdateHierarchySelection(), PCB_BASE_FRAME::UpdateUserUnits(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
|
inlinevirtualinherited |
Reimplemented in PCB_VIA.
Definition at line 133 of file board_item.h.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().
|
inlinevirtualinherited |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented in SCH_FIELD, SCH_ITEM, SCH_LABEL_BASE, SCH_LINE, FP_SHAPE, FP_TEXT, FP_TEXTBOX, PAD, PCB_DIMENSION_BASE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, and PCB_VIA.
Definition at line 181 of file eda_item.h.
References EDA_ITEM::m_structType, and SCH_LOCATE_ANY_T.
Referenced by SCH_EDIT_TOOL::AutoplaceFields(), ROUTER_TOOL::CanInlineDrag(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_FIELD::GetCanonicalName(), KIGFX::SCH_PAINTER::getLineWidth(), SCH_FIELD::GetName(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_FIELD::GetShownText(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingBus(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLine(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingWire(), SCH_ITEM::IsType(), FP_TEXT::IsType(), FP_TEXTBOX::IsType(), PAD::IsType(), PCB_DIMENSION_BASE::IsType(), PCB_SHAPE::IsType(), PCB_TEXT::IsType(), PCB_TEXTBOX::IsType(), PCB_VIA::IsType(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), CONVERT_TOOL::makePolysFromChainedSegs(), EE_SELECTION_TOOL::RequestSelection(), SCH_FIELD::SetId(), SCH_BASE_FRAME::UpdateItem(), and EDA_ITEM::Visit().
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 302 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
Referenced by GERBER_FILE_IMAGE::Visit().
|
inlinestaticinherited |
Change first parameter to avoid the DList and use std::vector instead.
Definition at line 322 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
int BOARD::LayerDepth | ( | PCB_LAYER_ID | aStartLayer, |
PCB_LAYER_ID | aEndLayer | ||
) | const |
Definition at line 553 of file board.cpp.
References B_Cu, F_Cu, GetCopperLayerCount(), and ToLAYER_ID().
Referenced by DIALOG_TRACK_VIA_PROPERTIES::getLayerDepth().
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
Reimplemented in PCB_VIA.
Definition at line 106 of file board_item.cpp.
References _, LSET::AllCuMask(), LSET::AllTechMask(), B_Cu, F_Cu, BOARD_ITEM::GetBoard(), GetEnabledLayers(), GetLayerName(), BOARD_ITEM::GetLayerSet(), PCB_LAYER_ID_COUNT, and PCBNEW_LAYER_ID_START.
Referenced by PAD::GetItemDescription(), PAD::GetMsgPanelInfo(), and PCB_TRACK::GetMsgPanelInfo().
void BOARD::MapNets | ( | const BOARD * | aDestBoard | ) |
Map all nets in the given board to nets with the same name (if any) in the destination board.
This allows us to share layouts which came from the same hierarchical sheet in the schematic.
Definition at line 1999 of file board.cpp.
References AllConnectedItems(), FindNet(), and NETINFO_ITEM::SetNetCode().
|
inline |
Definition at line 316 of file board.h.
References m_markers.
Referenced by PCB_DRAW_PANEL_GAL::DisplayBoard(), DRC_ITEMS_PROVIDER::GetCount(), DIALOG_DRC::OnDRCItemRClick(), DIALOG_PLOT::reInitDialog(), ResolveDRCExclusions(), DIALOG_FIND::search(), DRC_ITEMS_PROVIDER::SetSeverities(), and UpdateRatsnestExclusions().
|
inline |
|
inlinevirtualinherited |
Compare the item against the search criteria in aSearchData.
The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.
aSearchData | A reference to a wxFindReplaceData object containing the search criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_MARKER, LIB_TEXTBOX, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, FP_TEXT, FP_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TEXT, PCB_TEXTBOX, and ZONE.
Definition at line 382 of file eda_item.h.
Referenced by SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), LIB_TEXTBOX::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), FP_TEXT::Matches(), FP_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
|
protectedinherited |
Compare aText against search criteria in aSearchData.
This is a helper function for simplify derived class logic.
aText | A reference to a wxString object containing the string to test. |
aSearchData | The criteria to search against. |
Definition at line 117 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.
|
overridevirtual |
Move this object.
aMoveVector | the move vector for this object. |
Reimplemented from BOARD_ITEM.
Definition at line 379 of file board.cpp.
References GENERAL_COLLECTOR::BoardLevelItems, CONTINUE, BOARD_ITEM::GetParentGroup(), BOARD_ITEM::Move(), and Visit().
Referenced by EAGLE_PLUGIN::centerBoard(), CADSTAR_PCB_ARCHIVE_PLUGIN::Load(), and ALTIUM_PCB::Parse().
void BOARD::OnItemChanged | ( | BOARD_ITEM * | aItem | ) |
Notify the board and its listeners that an item on the board has been modified in some way.
Definition at line 2048 of file board.cpp.
References InvokeListeners(), and BOARD_LISTENER::OnBoardItemChanged().
Referenced by PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), and BOARD_COMMIT::Revert().
void BOARD::OnItemsChanged | ( | std::vector< BOARD_ITEM * > & | aItems | ) |
Notify the board and its listeners that an item on the board has been modified in some way.
Definition at line 2054 of file board.cpp.
References InvokeListeners(), and BOARD_LISTENER::OnBoardItemsChanged().
Referenced by BOARD_COMMIT::Push(), BOARD_COMMIT::Revert(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataFromWindow().
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 231 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
|
overridevirtual |
Removes an item from the container.
Implements BOARD_ITEM_CONTAINER.
Definition at line 859 of file board.cpp.