![]() |
KiCad PCB EDA Suite
|
A specialization of ZONE for use in footprints. More...
#include <zone.h>
Public Member Functions | |
FP_ZONE (BOARD_ITEM_CONTAINER *aParent) | |
FP_ZONE (const FP_ZONE &aZone) | |
FP_ZONE & | operator= (const FP_ZONE &aOther) |
EDA_ITEM * | Clone () const override |
Create a duplicate of this item with linked list members set to NULL. More... | |
double | ViewGetLOD (int aLayer, KIGFX::VIEW *aView) const override |
Return the level of detail (LOD) of the item. More... | |
bool | IsConnected () const override |
Not all ZONEs are really BOARD_CONNECTED_ITEMs.... More... | |
NETCLASS * | GetNetClass () const override |
Return the NETCLASS for this item. More... | |
wxString | GetNetClassName () const override |
Returns the netclass of the zone. More... | |
void | InitDataFromSrcInCopyCtor (const ZONE &aZone) |
Copy aZone data to me. More... | |
wxPoint | GetPosition () const override |
void | SetPosition (const wxPoint &aPos) override |
void | SetPriority (unsigned aPriority) |
unsigned | GetPriority () const |
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... | |
void | SetLayerSet (LSET aLayerSet) override |
virtual LSET | GetLayerSet () const override |
Return a std::bitset of all layers on which the item physically resides. More... | |
wxString | GetZoneName () const |
void | SetZoneName (const wxString &aName) |
bool | Matches (const wxFindReplaceData &aSearchData, void *aAuxData) const override |
Compare the item against the search criteria in aSearchData. More... | |
const EDA_RECT | GetBoundingBox () const override |
const EDA_RECT | GetCachedBoundingBox () const |
ONLY TO BE USED BY CLIENTS WHICH SET UP THE CACHE! More... | |
void | CacheBoundingBox () |
int | GetLocalClearance (wxString *aSource) const override |
Return any local clearances set in the "classic" (ie: pre-rule) system. More... | |
int | GetLocalClearance () const |
void | SetLocalClearance (int aClearance) |
bool | IsOnCopperLayer () const override |
bool | CommonLayerExists (const LSET aLayerSet) const |
Test if this zone shares a common layer with the given layer set. More... | |
virtual void | SetLayer (PCB_LAYER_ID aLayer) override |
Set the layer this item is on. More... | |
virtual PCB_LAYER_ID | GetLayer () const override |
Return the primary layer this item is on. More... | |
virtual bool | IsOnLayer (PCB_LAYER_ID) const override |
Test to see if this object is on the given layer. More... | |
virtual void | ViewGetLayers (int aLayers[], int &aCount) const override |
Return the all the layers within the VIEW the object is painted on. More... | |
void | SetFillMode (ZONE_FILL_MODE aFillMode) |
ZONE_FILL_MODE | GetFillMode () const |
void | SetThermalReliefGap (int aThermalReliefGap) |
int | GetThermalReliefGap () const |
int | GetThermalReliefGap (PAD *aPad, wxString *aSource=nullptr) const |
void | SetThermalReliefSpokeWidth (int aThermalReliefSpokeWidth) |
int | GetThermalReliefSpokeWidth () const |
int | GetThermalReliefSpokeWidth (PAD *aPad, wxString *aSource=nullptr) const |
double | CalculateFilledArea () |
Compute the area currently occupied by the zone fill. More... | |
double | GetFilledArea () |
This area is cached from the most recent call to CalculateFilledArea(). More... | |
std::mutex & | GetLock () |
int | GetFillFlag (PCB_LAYER_ID aLayer) |
void | SetFillFlag (PCB_LAYER_ID aLayer, bool aFlag) |
bool | IsFilled () const |
void | SetIsFilled (bool isFilled) |
bool | NeedRefill () const |
void | SetNeedRefill (bool aNeedRefill) |
ZONE_CONNECTION | GetPadConnection (PAD *aPad, wxString *aSource=nullptr) const |
ZONE_CONNECTION | GetPadConnection () const |
void | SetPadConnection (ZONE_CONNECTION aPadConnection) |
int | GetMinThickness () const |
void | SetMinThickness (int aMinThickness) |
int | GetHatchThickness () const |
void | SetHatchThickness (int aThickness) |
int | GetHatchGap () const |
void | SetHatchGap (int aStep) |
double | GetHatchOrientation () const |
void | SetHatchOrientation (double aStep) |
int | GetHatchSmoothingLevel () const |
void | SetHatchSmoothingLevel (int aLevel) |
double | GetHatchSmoothingValue () const |
void | SetHatchSmoothingValue (double aValue) |
double | GetHatchHoleMinArea () const |
void | SetHatchHoleMinArea (double aPct) |
int | GetHatchBorderAlgorithm () const |
void | SetHatchBorderAlgorithm (int aAlgo) |
int | GetSelectedCorner () const |
void | SetSelectedCorner (int aCorner) |
void | SetSelectedCorner (const wxPoint &aPosition, int aAccuracy) |
int | GetLocalFlags () const |
void | SetLocalFlags (int aFlags) |
std::vector< SEG > & | FillSegments (PCB_LAYER_ID aLayer) |
const std::vector< SEG > & | FillSegments (PCB_LAYER_ID aLayer) const |
SHAPE_POLY_SET * | Outline () |
const SHAPE_POLY_SET * | Outline () const |
void | SetOutline (SHAPE_POLY_SET *aOutline) |
virtual std::shared_ptr< SHAPE > | GetEffectiveShape (PCB_LAYER_ID aLayer=UNDEFINED_LAYER, FLASHING aFlash=FLASHING::DEFAULT) const override |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes. More... | |
bool | HitTest (const wxPoint &aPosition, int aAccuracy=0) const override |
Test if a point is near an outline edge or a corner of this zone. More... | |
bool | HitTest (const EDA_RECT &aRect, bool aContained=true, int aAccuracy=0) const override |
bool | HitTestFilledArea (PCB_LAYER_ID aLayer, const wxPoint &aRefPos, int aAccuracy=0) const |
Test if the given wxPoint is within the bounds of a filled area of this zone. More... | |
bool | HitTestCutout (const VECTOR2I &aRefPos, int *aOutlineIdx=nullptr, int *aHoleIdx=nullptr) const |
Test if the given point is contained within a cutout of the zone. More... | |
bool | HitTestCutout (const wxPoint &aRefPos, int *aOutlineIdx=nullptr, int *aHoleIdx=nullptr) const |
void | GetInteractingZones (PCB_LAYER_ID aLayer, std::vector< ZONE * > *aZones) const |
Some intersecting zones, despite being on the same layer with the same net, cannot be merged due to other parameters such as fillet radius. More... | |
void | TransformSolidAreasShapesToPolygon (PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aCornerBuffer, int aError=ARC_HIGH_DEF) const |
Convert solid areas full shapes to polygon set (the full shape is the polygon area with a thick outline) Used in 3D view Arcs (ends of segments) are approximated by segments. More... | |
void | TransformSmoothedOutlineToPolygon (SHAPE_POLY_SET &aCornerBuffer, int aClearance, int aError, ERROR_LOC aErrorLoc, SHAPE_POLY_SET *aBoardOutline) const |
Convert the outlines shape to a polygon with no holes inflated (optional) by max( aClearanceValue, the zone clearance) (holes are linked to external outline by overlapping segments) Used in filling zones calculations Circles (vias) and arcs (ends of tracks) are approximated by segments. More... | |
void | TransformShapeWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, PCB_LAYER_ID aLayer, int aClearanceValue, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const override |
Convert the zone shape to a closed polygon Used in filling zones calculations Circles and arcs are approximated by segments. More... | |
bool | HitTestForCorner (const wxPoint &refPos, int aAccuracy, SHAPE_POLY_SET::VERTEX_INDEX &aCornerHit) const |
Test if the given wxPoint is near a corner. More... | |
bool | HitTestForCorner (const wxPoint &refPos, int aAccuracy) const |
Test if the given wxPoint is near a corner. More... | |
bool | HitTestForEdge (const wxPoint &refPos, int aAccuracy, SHAPE_POLY_SET::VERTEX_INDEX &aCornerHit) const |
Test if the given wxPoint is near a segment defined by 2 corners. More... | |
bool | HitTestForEdge (const wxPoint &refPos, int aAccuracy) const |
Test if the given wxPoint is near a segment defined by 2 corners. More... | |
bool | UnFill () |
Removes the zone filling. More... | |
void | Move (const wxPoint &offset) override |
Move the outlines. More... | |
void | Move (const VECTOR2I &aMoveVector) |
void | MoveEdge (const wxPoint &offset, int aEdge) |
Move the outline Edge. More... | |
void | Rotate (const wxPoint &aCentre, double aAngle) override |
Move the outlines. More... | |
void | Rotate (const VECTOR2I &aRotCentre, double aAngle) |
virtual void | Flip (const wxPoint &aCentre, bool aFlipLeftRight) override |
Flip this object, i.e. More... | |
void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) |
void | Mirror (const wxPoint &aMirrorRef, bool aMirrorLeftRight) |
Mirror the outlines relative to a given horizontal axis the layer is not changed. More... | |
wxString | GetClass () const override |
int | GetNumCorners (void) const |
Access to m_Poly parameters. More... | |
SHAPE_POLY_SET::ITERATOR | Iterate () |
Return an iterator to visit all points of the zone's main outline without holes. More... | |
SHAPE_POLY_SET::ITERATOR | IterateWithHoles () |
Return an iterator to visit all points of the zone's main outline with holes. More... | |
SHAPE_POLY_SET::CONST_ITERATOR | CIterateWithHoles () const |
Return an iterator to visit all points of the zone's main outline with holes. More... | |
void | RemoveAllContours (void) |
const VECTOR2I & | GetCornerPosition (int aCornerIndex) const |
void | SetCornerPosition (int aCornerIndex, const wxPoint &new_pos) |
void | NewHole () |
Create a new hole on the zone; i.e., a new contour on the zone's outline. More... | |
bool | AppendCorner (wxPoint aPosition, int aHoleIdx, bool aAllowDuplication=false) |
Add a new corner to the zone outline (to the main outline or a hole) More... | |
ZONE_BORDER_DISPLAY_STYLE | GetHatchStyle () const |
void | SetHatchStyle (ZONE_BORDER_DISPLAY_STYLE aStyle) |
bool | IsSame (const ZONE &aZoneToCompare) |
Test if 2 zones are equivalent. More... | |
bool | HasFilledPolysForLayer (PCB_LAYER_ID aLayer) const |
const SHAPE_POLY_SET & | GetFilledPolysList (PCB_LAYER_ID aLayer) const |
void | CacheTriangulation (PCB_LAYER_ID aLayer=UNDEFINED_LAYER) |
Create a list of triangles that "fill" the solid areas used for instance to draw these solid areas on OpenGL. More... | |
void | SetFilledPolysList (PCB_LAYER_ID aLayer, const SHAPE_POLY_SET &aPolysList) |
Set the list of filled polygons. More... | |
void | SetRawPolysList (PCB_LAYER_ID aLayer, const SHAPE_POLY_SET &aPolysList) |
Set the list of filled polygons. More... | |
bool | IsIsland (PCB_LAYER_ID aLayer, int aPolyIdx) const |
Check if a given filled polygon is an insulated island. More... | |
void | SetIsIsland (PCB_LAYER_ID aLayer, int aPolyIdx) |
bool | BuildSmoothedPoly (SHAPE_POLY_SET &aSmoothedPoly, PCB_LAYER_ID aLayer, SHAPE_POLY_SET *aBoardOutline, SHAPE_POLY_SET *aSmoothedPolyWithApron=nullptr) const |
void | SetCornerSmoothingType (int aType) |
int | GetCornerSmoothingType () const |
void | SetCornerRadius (unsigned int aRadius) |
unsigned int | GetCornerRadius () const |
bool | GetFilledPolysUseThickness () const |
bool | GetFilledPolysUseThickness (PCB_LAYER_ID aLayer) const |
int | GetFillVersion () const |
void | SetFillVersion (int aVersion) |
void | RemoveCutout (int aOutlineIdx, int aHoleIdx) |
Remove a cutout from the zone. More... | |
void | AddPolygon (std::vector< wxPoint > &aPolygon) |
Add a polygon to the zone outline. More... | |
void | AddPolygon (const SHAPE_LINE_CHAIN &aPolygon) |
void | SetFillSegments (PCB_LAYER_ID aLayer, const std::vector< SEG > &aSegments) |
SHAPE_POLY_SET & | RawPolysList (PCB_LAYER_ID aLayer) |
wxString | GetSelectMenuText (EDA_UNITS aUnits) const override |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position. More... | |
BITMAPS | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
bool | GetIsRuleArea () const |
Accessors to parameters used in Rule Area zones: More... | |
bool | GetDoNotAllowCopperPour () const |
bool | GetDoNotAllowVias () const |
bool | GetDoNotAllowTracks () const |
bool | GetDoNotAllowPads () const |
bool | GetDoNotAllowFootprints () const |
bool | IsKeepout () const |
bool | KeepoutAll () const |
void | SetIsRuleArea (bool aEnable) |
void | SetDoNotAllowCopperPour (bool aEnable) |
void | SetDoNotAllowVias (bool aEnable) |
void | SetDoNotAllowTracks (bool aEnable) |
void | SetDoNotAllowPads (bool aEnable) |
void | SetDoNotAllowFootprints (bool aEnable) |
const ISLAND_REMOVAL_MODE | GetIslandRemovalMode () const |
void | SetIslandRemovalMode (ISLAND_REMOVAL_MODE aRemove) |
long long int | GetMinIslandArea () const |
void | SetMinIslandArea (long long int aArea) |
int | GetBorderHatchPitch () const |
HatchBorder related methods. More... | |
void | SetBorderDisplayStyle (ZONE_BORDER_DISPLAY_STYLE aHatchStyle, int aHatchPitch, bool aRebuildHatch) |
Set all hatch parameters for the zone. More... | |
void | SetHatchPitch (int aPitch) |
Set the hatch pitch parameter for the zone. More... | |
void | UnHatchBorder () |
Clear the zone's hatch. More... | |
void | HatchBorder () |
Compute the hatch lines depending on the hatch parameters and stores it in the zone's attribute m_borderHatchLines. More... | |
const std::vector< SEG > & | GetHatchLines () const |
bool | GetHV45 () const |
void | SetHV45 (bool aConstrain) |
void | BuildHashValue (PCB_LAYER_ID aLayer) |
Build the hash value of m_FilledPolysList, and store it internally in m_filledPolysHash. More... | |
MD5_HASH | GetHashValue (PCB_LAYER_ID aLayer) |
virtual void | SwapData (BOARD_ITEM *aImage) override |
Swap data between aItem and aImage. More... | |
NETINFO_ITEM * | GetNet () const |
Return #NET_INFO object for a given item. More... | |
void | SetNet (NETINFO_ITEM *aNetInfo) |
Set a NET_INFO object for the item. More... | |
int | GetNetCode () const |
bool | SetNetCode (int aNetCode, bool aNoAssert) |
Set net using a net code. More... | |
void | SetNetCode (int aNetCode) |
wxString | GetNetname () const |
wxString | GetNetnameMsg () const |
wxString | GetShortNetname () const |
virtual int | GetOwnClearance (PCB_LAYER_ID aLayer, wxString *aSource=nullptr) const |
Return an item's "own" clearance in internal units. More... | |
virtual int | GetLocalClearanceOverrides (wxString *aSource) const |
Return any local clearance overrides set in the "classic" (ie: pre-rule) system. More... | |
virtual NETCLASS * | GetEffectiveNetclass () const |
Return the NETCLASS for this item, or the default netclass if none is defined. More... | |
void | SetLocalRatsnestVisible (bool aVisible) |
bool | GetLocalRatsnestVisible () const |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual wxPoint | GetCenter () const |
This defaults to the center of the bounding box if not overridden. More... | |
void | SetX (int aX) |
void | SetY (int aY) |
BOARD_ITEM_CONTAINER * | GetParent () const |
BOARD_ITEM_CONTAINER * | GetParentFootprint () const |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of this BOARD_ITEM. More... | |
bool | IsTrack () const |
Test to see if this object is a track or via (or microvia). More... | |
virtual bool | IsLocked () const |
virtual void | SetLocked (bool aLocked) |
Modify the 'lock' status for of the item. More... | |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. 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... | |
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 | IsDragging () const |
bool | IsWireImage () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsResized () const |
bool | IsBrightened () const |
void | SetWireImage () |
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 | 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 | IsType (const 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 const wxPoint | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual SEARCH_RESULT | Visit (INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
virtual bool | Replace (const wxFindReplaceData &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... | |
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) |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) |
template<typename T > | |
boost::optional< T > | Get (const wxString &aProperty) |
Static Public Member Functions | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static int | GetDefaultHatchPitch () |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const wxFindReplaceData &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... | |
Public Attributes | |
const KIID | m_Uuid |
Static Public Attributes | |
static wxPoint | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
bool | Matches (const wxString &aText, const wxFindReplaceData &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
Protected Attributes | |
SHAPE_POLY_SET * | m_Poly |
Outline of the zone. More... | |
int | m_cornerSmoothingType |
unsigned int | m_cornerRadius |
wxString | m_zoneName |
An optional unique name for this zone, used for identifying it in DRC checking. More... | |
LSET | m_layerSet |
unsigned | m_priority |
bool | m_isRuleArea |
bool | m_doNotAllowCopperPour |
bool | m_doNotAllowVias |
bool | m_doNotAllowTracks |
bool | m_doNotAllowPads |
bool | m_doNotAllowFootprints |
ZONE_CONNECTION | m_PadConnection |
int | m_ZoneClearance |
int | m_ZoneMinThickness |
int | m_fillVersion |
ISLAND_REMOVAL_MODE | m_islandRemovalMode |
long long int | m_minIslandArea |
When island removal mode is set to AREA, islands below this area will be removed. More... | |
bool | m_isFilled |
True when a zone was filled, false after deleting the filled areas. More... | |
bool | m_needRefill |
False when a zone was refilled, true after changes in zone params. More... | |
int | m_thermalReliefGap |
int | m_thermalReliefSpokeWidth |
ZONE_FILL_MODE | m_fillMode |
How to fill areas: More... | |
int | m_hatchThickness |
int | m_hatchGap |
double | m_hatchOrientation |
int | m_hatchSmoothingLevel |
double | m_hatchSmoothingValue |
double | m_hatchHoleMinArea |
int | m_hatchBorderAlgorithm |
SHAPE_POLY_SET::VERTEX_INDEX * | m_CornerSelection |
The index of the corner being moved or nullptr if no corner is selected. More... | |
int | m_localFlgs |
std::map< PCB_LAYER_ID, std::vector< SEG > > | m_FillSegmList |
Segments used to fill the zone (#m_FillMode ==1 ), when fill zone by segment is used. More... | |
std::map< PCB_LAYER_ID, SHAPE_POLY_SET > | m_FilledPolysList |
std::map< PCB_LAYER_ID, SHAPE_POLY_SET > | m_RawPolysList |
EDA_RECT | m_bboxCache |
Temp variables used while filling. More... | |
std::map< PCB_LAYER_ID, bool > | m_fillFlags |
std::map< PCB_LAYER_ID, MD5_HASH > | m_filledPolysHash |
A hash value used in zone filling calculations to see if the filled areas are up to date. More... | |
ZONE_BORDER_DISPLAY_STYLE | m_borderStyle |
int | m_borderHatchPitch |
std::vector< SEG > | m_borderHatchLines |
std::map< PCB_LAYER_ID, std::set< int > > | m_insulatedIslands |
For each layer, a set of insulated islands that were not removed. More... | |
bool | m_hv45 |
double | m_area |
std::mutex | m_lock |
Lock used for multi-threaded filling on multi-layer zones. More... | |
NETINFO_ITEM * | m_netinfo |
Store all information about the net that item belongs to. More... | |
PCB_LAYER_ID | m_layer |
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 |
FP_ZONE::FP_ZONE | ( | BOARD_ITEM_CONTAINER * | aParent | ) |
Definition at line 1283 of file zone.cpp.
References BOARD_CONNECTED_ITEM::SetNetCode().
Referenced by Clone().
FP_ZONE::FP_ZONE | ( | const FP_ZONE & | aZone | ) |
Definition at line 1292 of file zone.cpp.
References ZONE::InitDataFromSrcInCopyCtor().
|
inherited |
Add a polygon to the zone outline.
If the zone outline is empty, this is the main outline. Otherwise it is a hole inside the main outline.
Definition at line 798 of file zone.cpp.
References SHAPE_LINE_CHAIN::Append(), and SHAPE_LINE_CHAIN::SetClosed().
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::getZoneFromCadstarShape(), and EAGLE_PLUGIN::loadPolygon().
|
inherited |
Definition at line 784 of file zone.cpp.
References SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), SHAPE_LINE_CHAIN::IsClosed(), ZONE::m_Poly, SHAPE_POLY_SET::OutlineCount(), and ZONE::SetNeedRefill().
|
inherited |
Add a new corner to the zone outline (to the main outline or a hole)
aPosition | is the position of the new corner. |
aHoleIdx | is the index of the hole (-1 for the main outline, >= 0 for hole). |
aAllowDuplication | is a flag to indicate whether it is allowed to add this corner even if it is duplicated. |
Definition at line 815 of file zone.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::HoleCount(), ZONE::m_Poly, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::OutlineCount(), and ZONE::SetNeedRefill().
Referenced by BOARD::AddArea(), PCAD2KICAD::PCB_POLYGON::AddToBoard(), TEST_BOARD_ITEM_FIXTURE::Instantiate(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packageRectangle(), and ALTIUM_PCB::ParseFills6Data().
|
inherited |
Build the hash value of m_FilledPolysList, and store it internally in m_filledPolysHash.
Used in zone filling calculations, to know if m_FilledPolysList is up to date.
Definition at line 389 of file zone.cpp.
References g_nullPoly, SHAPE_POLY_SET::GetHash(), ZONE::m_filledPolysHash, and ZONE::m_FilledPolysList.
|
inherited |
Definition at line 1117 of file zone.cpp.
References SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::BooleanIntersection(), SHAPE_POLY_SET::ClearArcs(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), ZONE::GetInteractingZones(), ZONE::GetIsRuleArea(), ZONE::GetNumCorners(), SHAPE_POLY_SET::Inflate(), ZONE::m_cornerRadius, ZONE::m_cornerSmoothingType, BOARD_DESIGN_SETTINGS::m_MaxError, ZONE::m_Poly, BOARD_DESIGN_SETTINGS::m_ZoneKeepExternalFillets, ZONE::m_ZoneMinThickness, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::PM_FAST, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, ZONE_SETTINGS::SMOOTHING_CHAMFER, and ZONE_SETTINGS::SMOOTHING_FILLET.
Referenced by ZONE_FILLER::fillSingleZone(), and ZONE::TransformSmoothedOutlineToPolygon().
|
inlineinherited |
|
inherited |
Create a list of triangles that "fill" the solid areas used for instance to draw these solid areas on OpenGL.
Definition at line 1058 of file zone.cpp.
References SHAPE_POLY_SET::CacheTriangulation(), ZONE::m_FilledPolysList, ZONE::m_Poly, and UNDEFINED_LAYER.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees().
|
inherited |
Compute the area currently occupied by the zone fill.
Definition at line 1215 of file zone.cpp.
References SHAPE_LINE_CHAIN::Area(), SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), ZONE::m_area, ZONE::m_FilledPolysList, SHAPE_POLY_SET::Outline(), and SHAPE_POLY_SET::OutlineCount().
|
inlineinherited |
Return an iterator to visit all points of the zone's main outline with holes.
Definition at line 555 of file zone.h.
References SHAPE_POLY_SET::CIterateWithHoles(), and ZONE::m_Poly.
|
inlinestaticinherited |
|
inlineinherited |
Definition at line 132 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 171 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by FOOTPRINT::Add(), BOARD::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), 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 153 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(), FOOTPRINT::BuildPolyCourtyards(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), ConvertOutlineToPolygon(), 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(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), EE_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::narrowSelection(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), SCH_EDIT_FRAME::SaveCopyForRepeatItem(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 131 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< SCH_BASE_FRAME >::saveCopyInUndoList(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 165 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), DO_NOT_DRAW, ENDPOINT, IS_LINKED, SKIP_STRUCT, STARTPOINT, and TEMP_SELECTED.
Referenced by 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().
|
overridevirtual |
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 from ZONE.
Definition at line 1306 of file zone.cpp.
References FP_ZONE().
|
inherited |
Test if this zone shares a common layer with the given layer set.
Definition at line 234 of file zone.cpp.
References ZONE::GetLayerSet().
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 128 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by BOARD::PadDelete(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Create a copy of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 144 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(), BOOST_AUTO_TEST_CASE(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), EDIT_TOOL::Duplicate(), FOOTPRINT::Duplicate(), and ARRAY_CREATOR::Invoke().
|
inlineinherited |
Definition at line 308 of file zone.h.
References ZONE::m_FillSegmList.
Referenced by PCB_PLUGIN::format().
|
inlineinherited |
Definition at line 314 of file zone.h.
References ZONE::m_FillSegmList.
|
inlineinherited |
Definition at line 264 of file board_item.h.
References BOARD_ITEM::Flip(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtualinherited |
Flip this object, i.e.
change the board side for this object (like Mirror() but changes layer).
aCentre | is the rotation point. |
Reimplemented from BOARD_ITEM.
Definition at line 715 of file zone.cpp.
References FlipLayerMask(), BOARD_ITEM::GetBoard(), BOARD::GetCopperLayerCount(), ZONE::GetLayerSet(), ZONE::Mirror(), and ZONE::SetLayerSet().
|
inlineinherited |
Definition at line 86 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(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 95 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
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().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 36 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by ZONE_FILLER::addHoleKnockout(), PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), calcIsInsideArea(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), PCB_LAYER_VALUE::EqualTo(), existsOnLayer(), exprFromTo(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TRACK::Flip(), FP_SHAPE::Flip(), PCB_SHAPE::Flip(), FP_TEXT::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), ZONE::Flip(), PCB_EXPR_CONTEXT::GetBoard(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), PAD::GetEffectiveShape(), PCB_VIA::GetEffectiveShape(), ZONE::GetInteractingZones(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), ZONE::GetSelectMenuText(), DRC_ENGINE::GetShape(), FP_TEXT::GetShownText(), PAD::GetSolderMaskMargin(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), inDiffPair(), insideArea(), insideBackCourtyard(), insideCourtyard(), insideFrontCourtyard(), isInsideArea(), isInsideCourtyard(), BOARD_ITEM::IsLocked(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), CONVERT_TOOL::makePolysFromCircles(), PAD::MergePrimitivesAsPolygon(), EAGLE_PLUGIN::packageWire(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), BOARD_CONNECTED_ITEM::SetNetCode(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), ZONE::TransformSolidAreasShapesToPolygon(), PCB_TRACK::ViewBBox(), FOOTPRINT::ViewBBox(), PCB_VIA::ViewGetLOD(), and PAD::ViewGetLOD().
|
virtualinherited |
Definition at line 50 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
inherited |
HatchBorder related methods.
Definition at line 869 of file zone.cpp.
References ZONE::m_borderHatchPitch.
Referenced by PCB_PLUGIN::format().
|
overridevirtualinherited |
Reimplemented from EDA_ITEM.
Definition at line 320 of file zone.cpp.
References SHAPE_POLY_SET::BBox(), and ZONE::m_Poly.
Referenced by ZONE::CacheBoundingBox(), calcIsInsideArea(), ZONE::HitTest(), FABMASTER::orderZones(), and ALTIUM_PCB::ParsePolygons6Data().
|
inlineinherited |
ONLY TO BE USED BY CLIENTS WHICH SET UP THE CACHE!
Definition at line 145 of file zone.h.
References ZONE::m_bboxCache.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), ZONE_FILLER::Fill(), hasThermalConnection(), and ZONE_FILLER::subtractHigherPriorityZones().
|
inlinevirtualinherited |
This defaults to the center of the bounding box if not overridden.
Reimplemented in PCB_ARC, PAD, PCB_SHAPE, and PCB_MARKER.
Definition at line 81 of file board_item.h.
References EDA_ITEM::GetBoundingBox(), and EDA_RECT::GetCenter().
Referenced by PCB_GRID_HELPER::computeAnchors(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), and ALTIUM_PCB::HelperParseDimensions6Radial().
|
inlineoverridevirtualinherited |
|
inlineinherited |
Definition at line 565 of file zone.h.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetRelativeIndices(), and ZONE::m_Poly.
Referenced by ZONE::GetPosition().
|
inlineinherited |
Definition at line 689 of file zone.h.
References ZONE::m_cornerRadius.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 685 of file zone.h.
References ZONE::m_cornerSmoothingType.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
staticinherited |
Definition at line 1038 of file zone.cpp.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPlain(), LEGACY_PLUGIN::loadZONE_CONTAINER(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), PCB_PARSER::parseZONE(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 736 of file zone.h.
References ZONE::m_doNotAllowCopperPour.
Referenced by PCB_PLUGIN::format(), ZONE::GetMsgPanelInfo(), isKeepoutZone(), ZONE::IsSame(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 740 of file zone.h.
References ZONE::m_doNotAllowFootprints.
Referenced by PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), ZONE::GetMsgPanelInfo(), isKeepoutZone(), ZONE::IsSame(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 739 of file zone.h.
References ZONE::m_doNotAllowPads.
Referenced by PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), ZONE::GetMsgPanelInfo(), isKeepoutZone(), ZONE::IsSame(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 738 of file zone.h.
References ZONE::m_doNotAllowTracks.
Referenced by PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), isKeepoutZone(), ZONE::IsSame(), ZONE_SETTINGS::operator<<(), and PNS_KICAD_IFACE_BASE::syncZone().
|
inlineinherited |
Definition at line 737 of file zone.h.
References ZONE::m_doNotAllowVias.
Referenced by PNS::ITEM::collideSimple(), DRAWING_TOOL::DrawVia(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), isKeepoutZone(), ZONE::IsSame(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 157 of file eda_item.h.
References IS_DRAGGING, IS_MOVING, IS_NEW, IS_PASTED, IS_RESIZING, IS_WIRE_IMAGE, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by 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_TOOL::Properties(), PAD_TOOL::recombinePad(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_AND_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Return the NETCLASS for this item, or the default netclass if none is defined.
Definition at line 66 of file board_connected_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_DESIGN_SETTINGS::GetDefault(), BOARD::GetDesignSettings(), BOARD_CONNECTED_ITEM::GetNetClass(), NETINFO_ITEM::GetNetCode(), and BOARD_CONNECTED_ITEM::m_netinfo.
|
overridevirtualinherited |
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. |
Reimplemented from BOARD_ITEM.
Definition at line 1336 of file zone.cpp.
References ZONE::m_FilledPolysList.
|
inlineinherited |
This area is cached from the most recent call to CalculateFilledArea().
Definition at line 217 of file zone.h.
References ZONE::m_area.
|
inlineinherited |
Definition at line 637 of file zone.h.
References ZONE::m_FilledPolysList.
Referenced by CN_LIST::Add(), DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), BOARD_ADAPTER::addSolidAreasShapes(), CN_ZONE_LAYER::AnchorCount(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), CN_VISITOR::checkZoneZoneConnection(), CN_ZONE_LAYER::CN_ZONE_LAYER(), KIGFX::PCB_PAINTER::draw(), CN_CONNECTIVITY_ALGO::FindIsolatedCopperIslands(), PCB_PLUGIN::format(), CN_ZONE_LAYER::GetAnchor(), CONNECTIVITY_DATA::IsConnectedOnLayer(), and DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer().
|
inlineinherited |
Definition at line 691 of file zone.h.
References ZONE::m_fillVersion.
Referenced by BOARD_ADAPTER::addSolidAreasShapes(), CN_VISITOR::checkZoneZoneConnection(), ZONE_FILLER::computeRawFilledArea(), CN_ZONE_LAYER::ContainsPoint(), KIGFX::PCB_PAINTER::draw(), ZONE_FILLER::fillSingleZone(), PCB_PLUGIN::format(), ZONE::GetFilledPolysUseThickness(), ALTIUM_PCB::ParseRegions6Data(), BRDITEMS_PLOTTER::PlotFilledAreas(), and ZONE::TransformSolidAreasShapesToPolygon().
|
inherited |
Definition at line 368 of file zone.cpp.
References ADVANCED_CFG::GetCfg(), ZONE::GetFilledPolysUseThickness(), and LSET::InternalCuMask().
|
inlineinherited |
|
inlineinherited |
Definition at line 181 of file zone.h.
References ZONE::m_fillMode.
Referenced by ZONE_FILLER::computeRawFilledArea(), ZONE_FILLER::fillSingleZone(), PCB_PLUGIN::format(), ZONE::IsSame(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
|
inlineinherited |
Definition at line 154 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), calcIsInsideArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::expandConnection(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), BOARD_INSPECTION_TOOL::InspectConstraints(), LIB_SYMBOL::LIB_SYMBOL(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), FOOTPRINT::Remove(), BOARD::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), 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().
|
inlinevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented in BOARD, PCB_TRACK, and PCB_SHAPE.
Definition at line 258 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
inherited |
Definition at line 380 of file zone.cpp.
References g_nullPoly, SHAPE_POLY_SET::GetHash(), and ZONE::m_filledPolysHash.
|
inlineinherited |
Definition at line 271 of file zone.h.
References ZONE::m_hatchBorderAlgorithm.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 256 of file zone.h.
References ZONE::m_hatchGap.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 268 of file zone.h.
References ZONE::m_hatchHoleMinArea.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 801 of file zone.h.
References ZONE::m_borderHatchLines.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineinherited |
Definition at line 259 of file zone.h.
References ZONE::m_hatchOrientation.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 262 of file zone.h.
References ZONE::m_hatchSmoothingLevel.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 265 of file zone.h.
References ZONE::m_hatchSmoothingValue.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 615 of file zone.h.
References ZONE::m_borderStyle.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 253 of file zone.h.
References ZONE::m_hatchThickness.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 803 of file zone.h.
References ZONE::m_hv45.
Referenced by DRAWING_TOOL::DrawZone(), and ZONE_SETTINGS::operator<<().
|
inherited |
Some intersecting zones, despite being on the same layer with the same net, cannot be merged due to other parameters such as fillet radius.
The copper pour will end up effectively merged though, so we need to do some calculations with them in mind.
Definition at line 1087 of file zone.cpp.
References SHAPE_POLY_SET::CIterate(), BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), ZONE::m_Poly, and Millimeter2iu().
Referenced by ZONE::BuildSmoothedPoly().
|
inlineinherited |
Definition at line 751 of file zone.h.
References ZONE::m_islandRemovalMode.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Accessors to parameters used in Rule Area zones:
Definition at line 735 of file zone.h.
References ZONE::m_isRuleArea.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE::BuildSmoothedPoly(), PCB_EDIT_FRAME::Edit_Zone_Params(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), ZONE::GetNetClass(), ZONE::GetNetClassName(), ZONE::GetSelectMenuText(), ZONE::HitTestFilledArea(), ZONE::IsConnected(), isKeepoutZone(), ZONE::IsSame(), PCB_SELECTION_TOOL::itemPassesFilter(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), ZONE_SETTINGS::operator<<(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), PNS_KICAD_IFACE_BASE::syncZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
overridevirtualinherited |
Return the primary layer this item is on.
Reimplemented from BOARD_ITEM.
Definition at line 222 of file zone.cpp.
References BOARD_ITEM::GetLayer().
Referenced by BOARD::Add(), DRAWING_TOOL::DrawZone(), PCB_EDIT_FRAME::Edit_Zone_Params(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), ZONE::HatchBorder(), FABMASTER::orderZones(), BRDITEMS_PLOTTER::PlotFilledAreas(), BOARD::TestZoneIntersection(), ZONE::TransformSmoothedOutlineToPolygon(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 75 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by PCB_TEXT::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetSelectMenuText(), PCB_TEXT::GetSelectMenuText(), FP_SHAPE::GetSelectMenuText(), PCB_TRACK::GetSelectMenuText(), PCB_DIMENSION_BASE::GetSelectMenuText(), PCB_TEXT::GetShownText(), and FOOTPRINT::ResolveTextVar().
|
overridevirtualinherited |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented from BOARD_ITEM.
Definition at line 289 of file zone.cpp.
References ZONE::m_layerSet.
Referenced by CN_CONNECTIVITY_ALGO::Add(), calcIsInsideArea(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), ZONE::CommonLayerExists(), ZONE::Flip(), PCB_PLUGIN::format(), ZONE::InitDataFromSrcInCopyCtor(), BOARD_INSPECTION_TOOL::InspectClearance(), ZONE::IsSame(), ZONE_SETTINGS::operator<<(), DRC_ENGINE::RunTests(), SaveCopyOfZones(), PCB_SELECTION_TOOL::Selectable(), and PNS_KICAD_IFACE_BASE::syncZone().
|
overridevirtualinherited |
Return any local clearances set in the "classic" (ie: pre-rule) system.
These are things like zone clearance which are NOT an override.
aSource | [out] optionally reports the source as a user-readable string |
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 492 of file zone.cpp.
References _, ZONE::m_isRuleArea, and ZONE::m_ZoneClearance.
Referenced by ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), PCB_PLUGIN::format(), BOARD_INSPECTION_TOOL::InspectClearance(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 157 of file zone.h.
References ZONE::GetLocalClearance().
Referenced by ZONE::GetLocalClearance(), and ZONE_DESC::ZONE_DESC().
|
inlinevirtualinherited |
Return any local clearance overrides set in the "classic" (ie: pre-rule) system.
aSource | [out] optionally reports the source as a user-readable string. |
Reimplemented in PAD.
Definition at line 142 of file board_connected_item.h.
Referenced by DRC_ENGINE::EvalRules().
|
inlineinherited |
Definition at line 305 of file zone.h.
References ZONE::m_localFlgs.
Referenced by ZONE::InitDataFromSrcInCopyCtor().
|
inlineinherited |
Definition at line 184 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint().
|
inlineinherited |
Definition at line 222 of file zone.h.
References ZONE::m_lock.
Referenced by ZONE_FILLER::Fill().
|
overridevirtualinherited |
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 from EDA_ITEM.
Definition at line 1044 of file zone.cpp.
References add_zone.
|
inlineinherited |
Definition at line 754 of file zone.h.
References ZONE::m_minIslandArea.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 244 of file zone.h.
References ZONE::m_ZoneMinThickness.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), BOARD_ADAPTER::addSolidAreasShapes(), CN_VISITOR::checkZoneZoneConnection(), ZONE_FILLER::computeRawFilledArea(), CN_ZONE_LAYER::ContainsPoint(), KIGFX::PCB_PAINTER::draw(), ZONE_FILLER::fillSingleZone(), PCB_PLUGIN::format(), ZONE::IsSame(), ZONE_SETTINGS::operator<<(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseRegions6Data(), BRDITEMS_PLOTTER::PlotFilledAreas(), ZONE::TransformSolidAreasShapesToPolygon(), and ZONE_DESC::ZONE_DESC().
|
overridevirtualinherited |
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 544 of file zone.cpp.
References _, AccumulateDescription(), AREA, Format(), BOARD_ITEM::GetBoard(), ZONE::GetDoNotAllowCopperPour(), ZONE::GetDoNotAllowFootprints(), ZONE::GetDoNotAllowPads(), ZONE::GetDoNotAllowTracks(), ZONE::GetDoNotAllowVias(), ZONE::GetIsRuleArea(), ZONE::GetLayer(), BOARD::GetLayerName(), ZONE::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), ZONE::GetPriority(), EDA_BASE_FRAME::GetUserUnits(), HATCH_PATTERN, BOARD_ITEM::IsLocked(), ZONE::IsOnCopperLayer(), ZONE::m_area, ZONE::m_borderHatchLines, SHAPE_POLY_SET::VERTEX_INDEX::m_contour, ZONE::m_CornerSelection, ZONE::m_fillMode, ZONE::m_layerSet, ZONE::m_zoneName, MessageTextFromValue(), PCB_EDIT_FRAME_NAME, POLYGONS, LSET::Seq(), and UnescapeString().
|
inlineinherited |
Return #NET_INFO object for a given item.
Definition at line 75 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), isCoupledDiffPair(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), EDA_3D_CANVAS::OnMouseMove(), BOARD_EDITOR_CONTROL::RepairBoard(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow().
|
inlineoverridevirtualinherited |
Return the NETCLASS for this item.
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 87 of file zone.h.
References ZONE::GetIsRuleArea(), and BOARD_CONNECTED_ITEM::GetNetClass().
Referenced by ZONE::GetMsgPanelInfo().
|
inlineoverridevirtualinherited |
Returns the netclass of the zone.
If the net is not found (can happen when a netlist is reread) and the net name does not exist, return the default net class (should not return a null pointer).
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 95 of file zone.h.
References ZONE::GetIsRuleArea(), and BOARD_CONNECTED_ITEM::GetNetClassName().
|
inherited |
Definition at line 100 of file board_connected_item.cpp.
References NETINFO_ITEM::GetNetCode(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), ZONE_FILLER::buildCopperItemClearances(), connectedItemFilter(), CreateRoutesSection(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExchangeFootprint(), ZONE_FILLER::Fill(), PNS::NODE::FindItemByParent(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), CONNECTIVITY_DATA::GetConnectedItems(), ZONE::GetInteractingZones(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CONNECTIVITY_DATA::GetRatsnestForPad(), hasThermalConnection(), BOARD_INSPECTION_TOOL::highlightNet(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), CONNECTIVITY_DATA::IsConnectedOnLayer(), ZONE::IsIsland(), ZONE::IsSame(), ZONE_FILLER::knockoutThermalReliefs(), AR_AUTOPLACER::nearestPad(), ROUTER_TOOL::NeighboringSegmentFilter(), CN_ITEM::Net(), DIALOG_DRC::OnDRCItemSelected(), PCB_TRACK::cmp_tracks::operator()(), ZONE_SETTINGS::operator<<(), DIALOG_PAD_PROPERTIES::PadTypeSelected(), process(), BOARD_EDITOR_CONTROL::RepairBoard(), PCB_SELECTION_CONDITIONS::sameNetFunc(), SaveCopyOfZones(), PCB_SELECTION_TOOL::selectNet(), ZONE_FILLER::subtractHigherPriorityZones(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncPad(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), BOARD::TracksInNet(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Definition at line 126 of file board_connected_item.cpp.
References NETINFO_ITEM::GetNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), ZONE::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_NETLIST_UPDATER::getNetname(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CN_CLUSTER::OriginNetName(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotPad(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inherited |
Definition at line 132 of file board_connected_item.cpp.
References _, BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetNetname(), and UnescapeString().
Referenced by PCB_TRACK::GetSelectMenuText(), PCB_VIA::GetSelectMenuText(), PAD::GetSelectMenuText(), and ZONE::GetSelectMenuText().
|
inlineinherited |
Access to m_Poly parameters.
Definition at line 525 of file zone.h.
References ZONE::m_Poly, and SHAPE_POLY_SET::TotalVertices().
Referenced by ZONE::BuildSmoothedPoly(), and PCB_PLUGIN::format().
|
virtualinherited |
Return an item's "own" clearance in internal units.
aLayer | the layer in question. |
aSource | [out] optionally reports the source as a user-readable string. |
Definition at line 77 of file board_connected_item.cpp.
References CLEARANCE_CONSTRAINT, BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), DRC_CONSTRAINT::GetName(), MINOPTMAX< T >::HasMin(), BOARD_DESIGN_SETTINGS::m_DRCEngine, MINOPTMAX< T >::Min(), and DRC_CONSTRAINT::Value().
Referenced by KIGFX::PCB_PAINTER::draw(), ZONE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), and PAD::ViewBBox().
|
inherited |
Definition at line 753 of file zone.cpp.
References _, PAD::GetEffectiveZoneConnection(), INHERITED, and ZONE::m_PadConnection.
Referenced by ZONE_FILLER::buildCopperItemClearances(), PCB_PLUGIN::format(), hasThermalConnection(), BOARD_INSPECTION_TOOL::InspectClearance(), and ZONE_SETTINGS::operator<<().
|
inlineinherited |
Definition at line 241 of file zone.h.
References ZONE::m_PadConnection.
Referenced by ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 136 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(), EDIT_TOOL::copyToClipboard(), 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(), PCB_MARKER::GetColorLayer(), BOARD_ITEM::GetParentFootprint(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), FP_TEXT::GetSelectMenuText(), PCB_TEXT::GetShownText(), FP_TEXT::GetShownText(), getTopLevelGroup(), GENERAL_COLLECTOR::Inspect(), ARRAY_CREATOR::Invoke(), isInsideArea(), DRC_ENGINE::IsNetTie(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), PCB_SELECTION_TOOL::itemPassesFilter(), LEGACY_PLUGIN::loadMODULE_TEXT(), memberOf(), EDIT_TOOL::MoveExact(), ALTIUM_PCB::ParseTexts6Data(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), POSITION_RELATIVE_TOOL::PositionRelative(), BOARD_COMMIT::Push(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), SwapItemData(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), PCB_MARKER::ViewGetLayers(), ViewGetLOD(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Definition at line 191 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(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), and DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems().
|
inlineinherited |
Definition at line 60 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getTopLevelGroup(), BOARD_ITEM::IsLocked(), memberOf(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), EDIT_TOOL::Remove(), FOOTPRINT::Remove(), BOARD::Remove(), GROUP_TOOL::RemoveFromGroup(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
overridevirtualinherited |
Reimplemented from EDA_ITEM.
Definition at line 216 of file zone.cpp.
References ZONE::GetCornerPosition().
Referenced by EAGLE_PLUGIN::loadPlain().
|
inlineinherited |
Definition at line 122 of file zone.h.
References ZONE::m_priority.
Referenced by ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::Fill(), PCB_PLUGIN::format(), ZONE::GetMsgPanelInfo(), ZONE::IsSame(), ZONE_SETTINGS::operator<<(), ZONE_FILLER::subtractHigherPriorityZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), ZONE_DESC::ZONE_DESC(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inlineinherited |
Definition at line 274 of file zone.h.
References SHAPE_POLY_SET::GetGlobalIndex(), ZONE::m_CornerSelection, and ZONE::m_Poly.
|
overridevirtualinherited |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position.
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 835 of file zone.cpp.
References _, Format(), BOARD_ITEM::GetBoard(), ZONE::GetIsRuleArea(), BOARD::GetLayerName(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), SHAPE_POLY_SET::VERTEX_INDEX::m_contour, ZONE::m_CornerSelection, ZONE::m_layerSet, and LSET::Seq().
Referenced by PNS_KICAD_IFACE_BASE::syncZone().
|
inherited |
Definition at line 148 of file board_connected_item.cpp.
References NETINFO_ITEM::GetShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineinherited |
Definition at line 136 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_ITEM::IsLocked().
|
inlineinherited |
|
inlineinherited |
Definition at line 191 of file zone.h.
References ZONE::m_thermalReliefGap.
Referenced by ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), PCB_PLUGIN::format(), hasThermalConnection(), BOARD_INSPECTION_TOOL::InspectClearance(), ZONE_FILLER::knockoutThermalReliefs(), ZONE_SETTINGS::operator<<(), and ZONE_DESC::ZONE_DESC().
|
inherited |
Definition at line 330 of file zone.cpp.
References _, PAD::GetEffectiveThermalGap(), and ZONE::m_thermalReliefGap.
|
inlineinherited |
Definition at line 202 of file zone.h.
References ZONE::m_thermalReliefSpokeWidth.
Referenced by ZONE_FILLER::buildThermalSpokes(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and ZONE_DESC::ZONE_DESC().
|
inherited |
Definition at line 345 of file zone.cpp.
References _, PAD::GetEffectiveThermalSpokeWidth(), and ZONE::m_thermalReliefSpokeWidth.
|
inlineinherited |
Definition at line 64 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), BOARD_ITEM::SetY(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 70 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), BOARD_ITEM::SetX(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 129 of file zone.h.
References ZONE::m_zoneName.
Referenced by PCB_PLUGIN::format(), PNS::ROUTER::isStartingPointRoutable(), ZONE::Matches(), ZONE_SETTINGS::operator<<(), PNS_KICAD_IFACE_BASE::syncZone(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 629 of file zone.h.
References ZONE::m_FilledPolysList.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inlineinherited |
Definition at line 155 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by TRACKS_CLEANER::cleanup(), GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), and EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList().
|
inherited |
Compute the hatch lines depending on the hatch parameters and stores it in the zone's attribute m_borderHatchLines.
Definition at line 906 of file zone.cpp.
References SEG::A, SEG::B, SHAPE_POLY_SET::CVertex(), DIAGONAL_EDGE, DIAGONAL_FULL, ZONE::GetLayer(), SHAPE_POLY_SET::IsEmpty(), SHAPE_POLY_SET::IterateSegmentsWithHoles(), SHAPE_POLY_SET::IterateWithHoles(), KiROUND(), ZONE::m_borderHatchLines, ZONE::m_borderHatchPitch, ZONE::m_borderStyle, ZONE::m_Poly, NO_HATCH, sortEndsByDescendingX(), ZONE::UnHatchBorder(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CONVERT_TOOL::CreatePolys(), ZONE::Mirror(), ZONE::Move(), ZONE::MoveEdge(), EDIT_TOOL::Remove(), ZONE::Rotate(), ZONE::SetBorderDisplayStyle(), and PCB_POINT_EDITOR::updateItem().
|
overridevirtualinherited |
Test if a point is near an outline edge or a corner of this zone.
aPosition | the wxPoint to test |
Reimplemented from EDA_ITEM.
Definition at line 398 of file zone.cpp.
References ZONE::HitTestForCorner(), ZONE::HitTestForEdge(), and Millimeter2iu().
|
overridevirtualinherited |
aRect | A reference to a EDA_RECT 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 from EDA_ITEM.
Definition at line 451 of file zone.cpp.
References EDA_RECT::Contains(), SHAPE_POLY_SET::CVertex(), ZONE::GetBoundingBox(), EDA_RECT::Inflate(), EDA_RECT::Intersects(), ZONE::m_Poly, EDA_RECT::Normalize(), and SHAPE_POLY_SET::TotalVertices().
|
inherited |
Test if the given point is contained within a cutout of the zone.
aRefPos | is the point to test |
aOutlineIdx | is the index of the outline containing the cutout |
aHoleIdx | is the index of the hole |
Definition at line 519 of file zone.cpp.
References SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), ZONE::m_Poly, SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN_BASE::PointInside().
Referenced by ZONE::HitTestCutout(), and EDIT_TOOL::Remove().
|
inlineinherited |
Definition at line 359 of file zone.h.
References ZONE::HitTestCutout().
|
inherited |
Test if the given wxPoint is within the bounds of a filled area of this zone.
aLayer | is the layer to test on |
aRefPos | A wxPoint to test |
aAccuracy | Expand the distance by which the areas are expanded for the hittest |
Definition at line 504 of file zone.cpp.
References SHAPE_POLY_SET::Contains(), ZONE::GetIsRuleArea(), ZONE::m_FilledPolysList, and ZONE::m_Poly.
Referenced by CN_ANCHOR::ConnectedItemsCount(), GENERAL_COLLECTOR::Inspect(), and CN_ANCHOR::IsDangling().
|
inherited |
Test if the given wxPoint is near a corner.
refPos | is the wxPoint to test. |
aAccuracy | increase the item bounding box by this amount. |
aCornerHit | [out] is the index of the closest vertex found, useless when return value is false. |
Definition at line 423 of file zone.cpp.
References SHAPE_POLY_SET::CollideVertex(), and ZONE::m_Poly.
Referenced by ZONE::HitTest(), ZONE::HitTestForCorner(), GENERAL_COLLECTOR::Inspect(), PCB_SELECTION_TOOL::Main(), and ZONE::SetSelectedCorner().
|
inherited |
Test if the given wxPoint is near a corner.
refPos | is the wxPoint to test. |
aAccuracy | increase the item bounding box by this amount. |
Definition at line 430 of file zone.cpp.
References dummy(), and ZONE::HitTestForCorner().
|
inherited |
Test if the given wxPoint is near a segment defined by 2 corners.
refPos | is the wxPoint to test. |
aAccuracy | increase the item bounding box by this amount. |
aCornerHit | [out] is the index of the closest vertex found, useless when return value is false. |
Definition at line 437 of file zone.cpp.
References SHAPE_POLY_SET::CollideEdge(), and ZONE::m_Poly.
Referenced by ZONE::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), ZONE::HitTestForEdge(), GENERAL_COLLECTOR::Inspect(), PCB_SELECTION_TOOL::Main(), and ZONE::SetSelectedCorner().
|
inherited |
Test if the given wxPoint is near a segment defined by 2 corners.
refPos | is the wxPoint to test. |
aAccuracy | increase the item bounding box by this amount. |
Definition at line 444 of file zone.cpp.
References dummy(), and ZONE::HitTestForEdge().
|
inherited |
Copy aZone data to me.
Definition at line 111 of file zone.cpp.
References ZONE::GetLayerSet(), ZONE::GetLocalFlags(), ZONE::m_area, ZONE::m_borderHatchLines, ZONE::m_borderHatchPitch, ZONE::m_borderStyle, ZONE::m_cornerRadius, ZONE::m_CornerSelection, ZONE::m_cornerSmoothingType, ZONE::m_doNotAllowCopperPour, ZONE::m_doNotAllowFootprints, ZONE::m_doNotAllowPads, ZONE::m_doNotAllowTracks, ZONE::m_doNotAllowVias, ZONE::m_filledPolysHash, ZONE::m_FilledPolysList, ZONE::m_fillMode, ZONE::m_FillSegmList, ZONE::m_fillVersion, EDA_ITEM::m_flags, EDA_ITEM::m_forceVisible, ZONE::m_hatchBorderAlgorithm, ZONE::m_hatchGap, ZONE::m_hatchHoleMinArea, ZONE::m_hatchOrientation, ZONE::m_hatchSmoothingLevel, ZONE::m_hatchSmoothingValue, ZONE::m_hatchThickness, ZONE::m_hv45, ZONE::m_insulatedIslands, ZONE::m_isFilled, ZONE::m_islandRemovalMode, ZONE::m_isRuleArea, ZONE::m_minIslandArea, ZONE::m_needRefill, BOARD_CONNECTED_ITEM::m_netinfo, ZONE::m_PadConnection, ZONE::m_Poly, ZONE::m_priority, ZONE::m_RawPolysList, ZONE::m_thermalReliefGap, ZONE::m_thermalReliefSpokeWidth, ZONE::m_ZoneClearance, ZONE::m_ZoneMinThickness, ZONE::m_zoneName, LSET::Seq(), ZONE::SetLayerSet(), and ZONE::SetLocalFlags().
Referenced by FP_ZONE(), ZONE::operator=(), CLIPBOARD_IO::SaveSelection(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 125 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), KIGFX::SCH_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_EDITOR_CONTROL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineoverridevirtualinherited |
Not all ZONEs are really BOARD_CONNECTED_ITEMs....
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 82 of file zone.h.
References ZONE::GetIsRuleArea().
|
inlineinherited |
Definition at line 120 of file eda_item.h.
References IS_DRAGGING, and EDA_ITEM::m_flags.
Referenced by DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES().
|
inlineinherited |
Definition at line 123 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineinherited |
Definition at line 234 of file zone.h.
References ZONE::m_isFilled.
Referenced by calcIsInsideArea(), PCB_EDIT_FRAME::Edit_Zone_Params(), PCB_PLUGIN::format(), and CONNECTIVITY_DATA::IsConnectedOnLayer().
|
inlineinherited |
Definition at line 205 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
inherited |
Check if a given filled polygon is an insulated island.
aLayer | is the layer to test |
aPolyIdx | is an index into m_FilledPolysList[aLayer] |
Definition at line 1075 of file zone.cpp.
References BOARD_CONNECTED_ITEM::GetNetCode(), and ZONE::m_insulatedIslands.
Referenced by PCB_PLUGIN::format().
|
inherited |
Definition at line 1269 of file zone.cpp.
References ZONE::m_doNotAllowCopperPour, ZONE::m_doNotAllowFootprints, ZONE::m_doNotAllowPads, ZONE::m_doNotAllowTracks, and ZONE::m_doNotAllowVias.
|
virtualinherited |
Reimplemented in FOOTPRINT, and PAD.
Definition at line 64 of file board_item.cpp.
References FPHOLDER, BOARD_ITEM::GetBoard(), BOARD::GetBoardUse(), BOARD_ITEM::GetParentGroup(), EDA_ITEM::GetState(), BOARD_ITEM::IsLocked(), and LOCKED.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), PCB_CONTROL::DeleteItemCursor(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromBOARD(), DSN::SPECCTRA_DB::FromSESSION(), PCB_TEXT::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), PCB_GROUP::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GROUP_TOOL::Group(), ROUTER_TOOL::InlineDrag(), GENERAL_COLLECTOR::Inspect(), PAD::IsLocked(), BOARD_ITEM::IsLocked(), PCB_SELECTION_TOOL::itemPassesFilter(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), TRACKS_CLEANER::mergeCollinearSegments(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_POINT_EDITOR::OnSelectionChange(), ZONE_SETTINGS::operator<<(), POSITION_RELATIVE_TOOL::PositionRelative(), processTextItem(), 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_TEXT_PROPERTIES::TransferDataToWindow(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow().
|
inlineinherited |
Definition at line 117 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_SHAPE::CalcArcAngles(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Rotate().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ConvertDeMorgan(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), EDIT_TOOL::DragArcTrack(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_AND_LABEL_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataFromWindow().
|
overridevirtualinherited |
Reimplemented from BOARD_ITEM.
Definition at line 228 of file zone.cpp.
References LSET::AllCuMask(), and ZONE::m_layerSet.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::fillSingleZone(), ZONE::GetMsgPanelInfo(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), EDA_3D_CANVAS::OnMouseMove(), and BRDITEMS_PLOTTER::PlotFilledAreas().
|
overridevirtualinherited |
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 from BOARD_ITEM.
Definition at line 314 of file zone.cpp.
References ZONE::m_layerSet.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), KIGFX::PCB_PAINTER::draw(), DSN::SPECCTRA_DB::FromBOARD(), BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in SCH_SYMBOL, SCH_SHEET, SCH_LABEL, SCH_TEXT, SCH_FIELD, and SCH_SHEET_PIN.
Definition at line 402 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
|
inherited |
Test if 2 zones are equivalent.
Function IsSame test is 2 zones are equivalent: 2 zones are equivalent if they have same parameters and same outlines info relative to filling is not take in account.
Zones are equivalent if they have same parameters and same outline info.
aZoneToCompare | is the zone to compare with "this" |
aZoneToCompare | = zone to compare with "this" |
Definition at line 60 of file zones_functions_for_undo_redo.cpp.
References ZONE::GetDoNotAllowCopperPour(), ZONE::GetDoNotAllowFootprints(), ZONE::GetDoNotAllowPads(), ZONE::GetDoNotAllowTracks(), ZONE::GetDoNotAllowVias(), ZONE::GetFillMode(), ZONE::GetIsRuleArea(), ZONE::GetLayerSet(), ZONE::GetMinThickness(), BOARD_CONNECTED_ITEM::GetNetCode(), ZONE::GetPriority(), ZONE::m_fillMode, ZONE::m_islandRemovalMode, ZONE::m_minIslandArea, ZONE::m_PadConnection, ZONE::m_Poly, ZONE::m_thermalReliefGap, ZONE::m_thermalReliefSpokeWidth, ZONE::m_ZoneClearance, ZONE::m_ZoneMinThickness, ZONE::m_zoneName, and ZONE::Outline().
Referenced by UpdateCopyOfZonesList().
|
inlineinherited |
Definition at line 122 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_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(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), KIGFX::PCB_PAINTER::draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::getRenderColor(), KIGFX::SCH_PAINTER::getTextThickness(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), EE_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inlineinherited |
Test to see if this object is a track or via (or microvia).
Definition at line 205 of file board_item.h.
References PCB_TRACE_T, PCB_VIA_T, and EDA_ITEM::Type().
|
inlinevirtualinherited |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented in PCB_VIA, SCH_LABEL, PCB_DIMENSION_BASE, PAD, SCH_FIELD, FP_TEXT, SCH_LINE, PCB_SHAPE, FP_SHAPE, and PCB_TEXT.
Definition at line 182 of file eda_item.h.
References EOT, EDA_ITEM::m_structType, and SCH_LOCATE_ANY_T.
Referenced by SCH_EDIT_TOOL::AutoplaceFields(), ROUTER_TOOL::CanInlineDrag(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingBus(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLine(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingWire(), PCB_TEXT::IsType(), FP_SHAPE::IsType(), PCB_SHAPE::IsType(), SCH_LINE::IsType(), FP_TEXT::IsType(), SCH_FIELD::IsType(), PAD::IsType(), PCB_DIMENSION_BASE::IsType(), SCH_LABEL::IsType(), PCB_VIA::IsType(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), EE_SELECTION_TOOL::RequestSelection(), SCH_BASE_FRAME::UpdateItem(), EDA_ITEM::Visit(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inlineinherited |
Definition at line 121 of file eda_item.h.
References IS_WIRE_IMAGE, and EDA_ITEM::m_flags.
|
inlineinherited |
Return an iterator to visit all points of the zone's main outline without holes.
Definition at line 535 of file zone.h.
References SHAPE_POLY_SET::Iterate(), and ZONE::m_Poly.
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 294 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 313 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
inlineinherited |
Return an iterator to visit all points of the zone's main outline with holes.
Definition at line 545 of file zone.h.
References SHAPE_POLY_SET::IterateWithHoles(), and ZONE::m_Poly.
Referenced by DSN::SPECCTRA_DB::FromBOARD(), and DSN::SPECCTRA_DB::makeIMAGE().
|
inherited |
Definition at line 1276 of file zone.cpp.
References ZONE::m_doNotAllowCopperPour, ZONE::m_doNotAllowFootprints, ZONE::m_doNotAllowPads, ZONE::m_doNotAllowTracks, and ZONE::m_doNotAllowVias.
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
The BOARD is needed because layer names are customizable.
Reimplemented in PCB_VIA.
Definition at line 87 of file board_item.cpp.
References _, LSET::AllCuMask(), LSET::AllTechMask(), B_Cu, F_Cu, BOARD_ITEM::GetBoard(), BOARD::GetEnabledLayers(), BOARD::GetLayerName(), BOARD_ITEM::GetLayerSet(), PCB_LAYER_ID_COUNT, and PCBNEW_LAYER_ID_START.
Referenced by PCB_TRACK::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), and PAD::GetSelectMenuText().
|
inlineoverridevirtualinherited |
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 from EDA_ITEM.
Definition at line 132 of file zone.h.
References ZONE::GetZoneName(), and EDA_ITEM::Matches().
Referenced by DIALOG_FIND::search().
|
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 118 of file eda_item.cpp.
References FR_MATCH_WILDCARD, FR_SEARCH_REPLACE, EDA_ITEM::IsReplaceable(), next(), and text.
|
inherited |
Mirror the outlines relative to a given horizontal axis the layer is not changed.
aMirrorRef | is axis position |
aMirrorLeftRight | mirror across Y axis (otherwise mirror across X) |
Definition at line 724 of file zone.cpp.
References SEG::A, SEG::B, ZONE::HatchBorder(), ZONE::m_FilledPolysList, ZONE::m_FillSegmList, ZONE::m_Poly, MIRROR(), SHAPE_POLY_SET::Mirror(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ZONE::Flip(), and EDIT_TOOL::Mirror().
|
inlineinherited |
Definition at line 238 of file board_item.h.
References BOARD_ITEM::Move(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtualinherited |
Move the outlines.
offset | is moving vector |
Reimplemented from BOARD_ITEM.
Definition at line 653 of file zone.cpp.
References SEG::A, SEG::B, ZONE::HatchBorder(), ZONE::m_FilledPolysList, ZONE::m_FillSegmList, ZONE::m_Poly, and SHAPE_POLY_SET::Move().
|
inherited |
Move the outline Edge.
offset | is moving vector |
aEdge | is start point of the outline edge |
Definition at line 674 of file zone.cpp.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetNeighbourIndexes(), ZONE::HatchBorder(), ZONE::m_Poly, ZONE::SetNeedRefill(), and SHAPE_POLY_SET::SetVertex().
|
inlineinherited |
Definition at line 237 of file zone.h.
References ZONE::m_needRefill.
|
inlineinherited |
Create a new hole on the zone; i.e., a new contour on the zone's outline.
Definition at line 599 of file zone.h.
References ZONE::m_Poly, and SHAPE_POLY_SET::NewHole().
Referenced by EAGLE_PLUGIN::loadPlain(), and EAGLE_PLUGIN::packageCircle().
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 234 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
|
inlineinherited |
Definition at line 320 of file zone.h.
References ZONE::m_Poly.
Referenced by PCB_POINT_EDITOR::addCorner(), ZONE_FILLER::addHatchFillTypeOnZone(), calcIsInsideArea(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), PCB_BASE_FRAME::FocusOnItems(), PCB_PLUGIN::format(), ZONE::IsSame(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), PCB_POINT_EDITOR::makePoints(), EAGLE_PLUGIN::packagePolygon(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), ZONE_CREATE_HELPER::performZoneCutout(), PCB_POINT_EDITOR::removeCorner(), PNS_KICAD_IFACE_BASE::syncZone(), BOARD::TestZoneIntersection(), PCB_POINT_EDITOR::updateItem(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
|
inlineinherited |
Definition at line 720 of file zone.h.
References ZONE::m_RawPolysList.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inlineinherited |
Definition at line 560 of file zone.h.
References ZONE::m_Poly, and SHAPE_POLY_SET::RemoveAllContours().
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees().
|
inherited |
Remove a cutout from the zone.
aOutlineIdx | is the zone outline the hole belongs to |
aHoleIdx | is the hole in the outline to remove |
Definition at line 769 of file zone.cpp.
References SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), ZONE::m_Poly, SHAPE_POLY_SET::OutlineCount(), SHAPE_POLY_SET::PM_FAST, and ZONE::SetNeedRefill().
Referenced by EDIT_TOOL::Remove().
|
staticinherited |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aText | A reference to a wxString object containing the text to be replaced. |
Definition at line 170 of file eda_item.cpp.
Referenced by SCH_FIELD::Replace(), EDA_TEXT::Replace(), SCH_EDITOR_CONTROL::ReplaceAll(), and SCH_EDITOR_CONTROL::ReplaceAndFindNext().
|
inlinevirtualinherited |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.
This function must be overridden for items that support text replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_TEXT, SCH_FIELD, SCH_SHEET_PIN, and SCH_PIN.
Definition at line 391 of file eda_item.h.
|
inlineinherited |
Definition at line 251 of file board_item.h.
References BOARD_ITEM::Rotate(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtualinherited |
Move the outlines.
aCentre | is rot centre |
aAngle | is in 0.1 degree |
Reimplemented from BOARD_ITEM.
Definition at line 689 of file zone.cpp.
References SEG::A, SEG::B, DECIDEG2RAD(), ZONE::HatchBorder(), ZONE::m_FilledPolysList, ZONE::m_FillSegmList, ZONE::m_Poly, SHAPE_POLY_SET::Rotate(), and RotatePoint().
Referenced by EAGLE_PLUGIN::loadPlain(), DSN::SPECCTRA_DB::makeIMAGE(), EAGLE_PLUGIN::packageRectangle(), and ALTIUM_PCB::ParseFills6Data().
|
inlineinherited |
Definition at line 42 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 55 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 68 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inherited |
Set all hatch parameters for the zone.
aHatchStyle | is the style of the hatch, specified as one of HATCH_STYLE possible values. |
aHatchPitch | is the hatch pitch in iu. |
aRebuildHatch | is a flag to indicate whether to re-hatch after having set the previous parameters. |
Definition at line 875 of file zone.cpp.
References ZONE::HatchBorder(), ZONE::m_borderStyle, and ZONE::SetHatchPitch().
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), and ALTIUM_PCB::ParseTracks6Data().
|
inlineinherited |
Definition at line 129 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::SetFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), KIGFX::SCH_PAINTER::draw(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), PL_SELECTION_TOOL::highlight(), EE_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 576 of file zone.h.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetRelativeIndices(), ZONE::m_Poly, ZONE::SetNeedRefill(), SHAPE_POLY_SET::SetVertex(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inherited |
Definition at line 359 of file zone.cpp.
References ZONE::m_cornerRadius, and ZONE::SetNeedRefill().
Referenced by ZONE_SETTINGS::ExportSetting().
|
inlineinherited |
Definition at line 683 of file zone.h.
References ZONE::m_cornerSmoothingType.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inlineinherited |
Definition at line 745 of file zone.h.
References ZONE::m_doNotAllowCopperPour.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), setKeepoutSettingsToZone(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 749 of file zone.h.
References ZONE::m_doNotAllowFootprints.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), setKeepoutSettingsToZone(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 748 of file zone.h.
References ZONE::m_doNotAllowPads.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), setKeepoutSettingsToZone(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 747 of file zone.h.
References ZONE::m_doNotAllowTracks.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), setKeepoutSettingsToZone(), and ZONE::ZONE().
|
inlineinherited |
Definition at line 746 of file zone.h.
References ZONE::m_doNotAllowVias.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), setKeepoutSettingsToZone(), and ZONE::ZONE().
|
inlineinherited |
Set the list of filled polygons.
Definition at line 652 of file zone.h.
References ZONE::m_FilledPolysList.
Referenced by ZONE_FILLER::Fill(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inlineinherited |
Definition at line 232 of file zone.h.
References ZONE::m_fillFlags.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), and ZONE_FILLER::Fill().
|
inlineinherited |
Definition at line 180 of file zone.h.
References ZONE::m_fillMode.
Referenced by ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::getZoneFromCadstarShape(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), and ALTIUM_PCB::ParsePolygons6Data().
|