KiCad PCB EDA Suite
|
Handle a list of polygons defining a copper zone. More...
#include <zone.h>
Public Member Functions | |
ZONE (BOARD_ITEM_CONTAINER *parent, bool aInFP=false) | |
The ctor to build ZONE, but compatible with FP_ZONE requirement. More... | |
ZONE (const ZONE &aZone) | |
ZONE & | operator= (const ZONE &aOther) |
~ZONE () | |
bool | IsConnected () const override |
Not all ZONEs are really BOARD_CONNECTED_ITEMs.... More... | |
void | InitDataFromSrcInCopyCtor (const ZONE &aZone) |
Copy aZone data to me. More... | |
bool | IsConflicting () const |
For rule areas which exclude footprints (and therefore participate in courtyard conflicts during move). More... | |
VECTOR2I | GetPosition () const override |
void | SetPosition (const VECTOR2I &aPos) override |
void | SetAssignedPriority (unsigned aPriority) |
unsigned | GetAssignedPriority () const |
bool | HigherPriority (const ZONE *aOther) const |
bool | SameNet (const ZONE *aOther) 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... | |
wxString | GetFriendlyName () const override |
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 EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override |
Compare the item against the search criteria in aSearchData. More... | |
const BOX2I | GetBoundingBox () const override |
void | CacheBoundingBox () |
Used to preload the zone bounding box cache so we don't have to worry about mutex-locking it each time. More... | |
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 |
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... | |
PCB_LAYER_ID | GetFirstLayer () const |
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... | |
double | ViewGetLOD (int aLayer, KIGFX::VIEW *aView) const override |
Return the level of detail (LOD) of the item. 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 |
double | CalculateFilledArea () |
Compute the area currently occupied by the zone fill. More... | |
double | CalculateOutlineArea () |
Compute the area of the zone outline (not the filled area). More... | |
double | GetFilledArea () |
This area is cached from the most recent call to CalculateFilledArea(). More... | |
double | GetOutlineArea () |
This area is cached from the most recent call to CalculateOutlineArea(). 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 () 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) |
EDA_ANGLE | GetHatchOrientation () const |
void | SetHatchOrientation (const EDA_ANGLE &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) |
int | GetLocalFlags () const |
void | SetLocalFlags (int aFlags) |
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 VECTOR2I &aPosition, int aAccuracy=0) const override |
Test if a point is near an outline edge or a corner of this zone. More... | |
bool | HitTestFilledArea (PCB_LAYER_ID aLayer, const VECTOR2I &aRefPos, int aAccuracy=0) const |
Test if the given VECTOR2I 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... | |
void | GetInteractingZones (PCB_LAYER_ID aLayer, std::vector< ZONE * > *aSameNetCollidingZones, std::vector< ZONE * > *aOtherNetIntersectingZones) 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 &aBuffer) 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 &aBuffer, 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 | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, PCB_LAYER_ID aLayer, int aClearance, 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 VECTOR2I &refPos, int aAccuracy, SHAPE_POLY_SET::VERTEX_INDEX *aCornerHit=nullptr) const |
Test if the given VECTOR2I is near a corner. More... | |
bool | HitTestForEdge (const VECTOR2I &refPos, int aAccuracy, SHAPE_POLY_SET::VERTEX_INDEX *aCornerHit=nullptr) const |
Test if the given VECTOR2I is near a segment defined by 2 corners. More... | |
bool | HitTest (const BOX2I &aRect, bool aContained=true, int aAccuracy=0) const override |
Test if aRect intersects this item. More... | |
bool | UnFill () |
Removes the zone filling. More... | |
void | Move (const VECTOR2I &offset) override |
Move the outlines. More... | |
void | MoveEdge (const VECTOR2I &offset, int aEdge) |
Move the outline Edge. More... | |
void | Rotate (const VECTOR2I &aCentre, const EDA_ANGLE &aAngle) override |
Rotate the outlines. More... | |
virtual void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) override |
Flip this object, i.e. More... | |
void | Mirror (const VECTOR2I &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 VECTOR2I &new_pos) |
void | NewHole () |
Create a new hole on the zone; i.e., a new contour on the zone's outline. More... | |
bool | AppendCorner (VECTOR2I 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 std::shared_ptr< SHAPE_POLY_SET > & | GetFilledPolysList (PCB_LAYER_ID aLayer) const |
SHAPE_POLY_SET * | GetFill (PCB_LAYER_ID aLayer) |
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... | |
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 |
void | RemoveCutout (int aOutlineIdx, int aHoleIdx) |
Remove a cutout from the zone. More... | |
void | AddPolygon (std::vector< VECTOR2I > &aPolygon) |
Add a polygon to the zone outline. More... | |
void | AddPolygon (const SHAPE_LINE_CHAIN &aPolygon) |
wxString | GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override |
Return a user-visible description string of this item. More... | |
BITMAPS | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
EDA_ITEM * | Clone () const override |
Create a duplicate of this item with linked list members set to NULL. More... | |
bool | IsTeardropArea () const |
void | SetTeardropAreaType (TEARDROP_TYPE aType) |
Set the type of teardrop if the zone is a teardrop area for non teardrop area, the type must be TEARDROP_TYPE::TD_NONE. More... | |
TEARDROP_TYPE | GetTeardropAreaType () const |
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 |
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 aBorderHatchStyle, int aBorderHatchPitch, bool aRebuilBorderdHatch) |
Set all hatch parameters for the zone. More... | |
void | SetBorderHatchPitch (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 |
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) |
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 |
wxString | GetUnescapedShortNetname () 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. More... | |
wxString | GetNetClassName () const |
Returns the name of the effective netclass. More... | |
void | SetLocalRatsnestVisible (bool aVisible) |
bool | GetLocalRatsnestVisible () const |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
virtual VECTOR2I | GetCenter () const |
This defaults to the center of the bounding box if not overridden. More... | |
void | SetX (int aX) |
void | SetY (int aY) |
virtual bool | HasHole () const |
virtual bool | IsTented () const |
virtual std::shared_ptr< SHAPE_SEGMENT > | GetEffectiveHoleShape () const |
BOARD_ITEM_CONTAINER * | GetParent () const |
BOARD_ITEM_CONTAINER * | GetParentFootprint () const |
virtual bool | HasLineStroke () const |
Check if this item has line stoke properties. More... | |
virtual STROKE_PARAMS | GetStroke () const |
virtual void | SetStroke (const STROKE_PARAMS &aStroke) |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of this BOARD_ITEM. More... | |
void | SwapItemData (BOARD_ITEM *aImage) |
Swap data between aItem and aImage. More... | |
virtual bool | IsKnockout () const |
virtual void | SetIsKnockout (bool aKnockout) |
virtual bool | IsLocked () const |
virtual void | SetLocked (bool aLocked) |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
virtual 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 | IsSelected () const |
bool | IsEntered () const |
bool | IsBrightened () const |
bool | IsRollover () const |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (EDA_ITEM_FLAGS type) const |
void | SetState (EDA_ITEM_FLAGS type, bool state) |
EDA_ITEM_FLAGS | GetStatus () const |
void | SetStatus (EDA_ITEM_FLAGS aStatus) |
void | SetFlags (EDA_ITEM_FLAGS aMask) |
void | XorFlags (EDA_ITEM_FLAGS aMask) |
void | ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
EDA_ITEM_FLAGS | GetFlags () const |
bool | HasFlag (EDA_ITEM_FLAGS aFlag) const |
EDA_ITEM_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
virtual bool | RenderAsBitmap (double aWorldScale) const |
void | SetIsShownAsBitmap (bool aBitmap) |
bool | IsShownAsBitmap () const |
virtual bool | IsType (const std::vector< KICAD_T > &aScanTypes) const |
Check whether the item is one of the listed types. More... | |
void | SetForceVisible (bool aEnable) |
Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible. More... | |
bool | IsForceVisible () const |
virtual const VECTOR2I | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual VECTOR2I | GetSortPosition () const |
Return the coordinates that should be used for sorting this element visually compared to other elements. More... | |
virtual INSPECT_RESULT | Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
wxString | GetTypeDesc () const |
Return a translated description of the type for this EDA_ITEM for display in user facing messages. More... | |
virtual bool | Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
Static Public Member Functions | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static int | GetDefaultHatchPitch () |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Public Attributes | |
const KIID | m_Uuid |
Static Public Attributes | |
static VECTOR2I | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
virtual void | swapData (BOARD_ITEM *aImage) override |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
bool | Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const |
Compare aText against search criteria in aSearchData. 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 |
TEARDROP_TYPE | m_teardropType |
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 |
EDA_ANGLE | 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::shared_ptr< SHAPE_POLY_SET > > | m_FilledPolysList |
LSET | m_fillFlags |
Temp variables used while filling. More... | |
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... | |
double | m_area |
double | m_outlinearea |
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 |
bool | m_isKnockout |
bool | m_isLocked |
PCB_GROUP * | m_group |
EDA_ITEM_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
EDA_ITEM_FLAGS | m_flags |
Private Attributes | |
bool | m_localRatsnestVisible |
KICAD_T | m_structType |
Run time identification, keep private so it can never be changed after a ctor sets it. More... | |
VIEW_ITEM_DATA * | m_viewPrivData |
Handle a list of polygons defining a copper zone.
A zone is described by a main polygon, a time stamp, a layer or a layer set, and a net name. Other polygons inside the main polygon are holes in the zone.
a item ZONE is living in a board a variant FP_ZONE is living in a footprint
ZONE::ZONE | ( | BOARD_ITEM_CONTAINER * | parent, |
bool | aInFP = false |
||
) |
The ctor to build ZONE, but compatible with FP_ZONE requirement.
if aInFP is true, a FP_ZONE is actually built (same item, but with a specific type id: The type is PCB_ZONE_T for a ZONE The type is PCB_FP_ZONE_T for a FP_ZONE
Definition at line 43 of file zone.cpp.
References ALWAYS, DIAGONAL_EDGE, ZONE_SETTINGS::ExportSetting(), GetDefaultHatchPitch(), BOARD_ITEM_CONTAINER::GetZoneSettings(), m_borderHatchPitch, m_borderStyle, m_cornerRadius, m_CornerSelection, m_cornerSmoothingType, m_fillVersion, m_isFilled, m_islandRemovalMode, m_needRefill, m_Poly, m_priority, m_teardropType, m_thermalReliefGap, m_thermalReliefSpokeWidth, m_ZoneMinThickness, m_zoneName, EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, SetIsRuleArea(), SetLocalFlags(), ZONE_SETTINGS::SMOOTHING_NONE, TD_NONE, ZONE_THERMAL_RELIEF_COPPER_WIDTH_MIL, ZONE_THERMAL_RELIEF_GAP_MIL, and ZONE_THICKNESS_MIL.
Referenced by Clone().
ZONE::ZONE | ( | const ZONE & | aZone | ) |
Definition at line 73 of file zone.cpp.
References InitDataFromSrcInCopyCtor().
ZONE::~ZONE | ( | ) |
Definition at line 92 of file zone.cpp.
References BOARD_ITEM::GetBoard(), m_CornerSelection, and m_Poly.
void ZONE::AddPolygon | ( | const SHAPE_LINE_CHAIN & | aPolygon | ) |
Definition at line 729 of file zone.cpp.
References SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), SHAPE_LINE_CHAIN::IsClosed(), m_Poly, SHAPE_POLY_SET::OutlineCount(), and SetNeedRefill().
void ZONE::AddPolygon | ( | std::vector< VECTOR2I > & | aPolygon | ) |
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 743 of file zone.cpp.
References AddPolygon(), SHAPE_LINE_CHAIN::Append(), and SHAPE_LINE_CHAIN::SetClosed().
Referenced by AddPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::getZoneFromCadstarShape(), and EAGLE_PLUGIN::loadPolygon().
bool ZONE::AppendCorner | ( | VECTOR2I | aPosition, |
int | aHoleIdx, | ||
bool | aAllowDuplication = false |
||
) |
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 760 of file zone.cpp.
References SHAPE_POLY_SET::Append(), SHAPE_POLY_SET::HoleCount(), m_Poly, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::OutlineCount(), SetNeedRefill(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BOARD::AddArea(), PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), TEST_BOARD_ITEM_FIXTURE::Instantiate(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::packageCircle(), and EAGLE_PLUGIN::packageRectangle().
void ZONE::BuildHashValue | ( | PCB_LAYER_ID | aLayer | ) |
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 396 of file zone.cpp.
References g_nullPoly, SHAPE_POLY_SET::GetHash(), m_filledPolysHash, and m_FilledPolysList.
Referenced by ZONE_FILLER::Fill().
bool ZONE::BuildSmoothedPoly | ( | SHAPE_POLY_SET & | aSmoothedPoly, |
PCB_LAYER_ID | aLayer, | ||
SHAPE_POLY_SET * | aBoardOutline, | ||
SHAPE_POLY_SET * | aSmoothedPolyWithApron = nullptr |
||
) | const |
Definition at line 1069 of file zone.cpp.
References ARC_HIGH_DEF, SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::BooleanIntersection(), SHAPE_POLY_SET::BooleanSubtract(), SHAPE_POLY_SET::ClearArcs(), SHAPE_POLY_SET::CloneDropTriangulation(), BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), GetInteractingZones(), GetIsRuleArea(), GetNumCorners(), SHAPE_POLY_SET::Inflate(), IsTeardropArea(), m_cornerRadius, m_cornerSmoothingType, BOARD_DESIGN_SETTINGS::m_MaxError, m_Poly, BOARD_DESIGN_SETTINGS::m_ZoneKeepExternalFillets, 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 TransformSmoothedOutlineToPolygon().
void ZONE::CacheBoundingBox | ( | ) |
Used to preload the zone bounding box cache so we don't have to worry about mutex-locking it each time.
Definition at line 345 of file zone.cpp.
References SHAPE_POLY_SET::BBox(), BOARD_ITEM::GetBoard(), BOARD::m_CachesMutex, m_Poly, and BOARD::m_ZoneBBoxCache.
void ZONE::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.
Definition at line 1005 of file zone.cpp.
References SHAPE_POLY_SET::CacheTriangulation(), m_FilledPolysList, m_Poly, and UNDEFINED_LAYER.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), and ZONE_FILLER::Fill().
double ZONE::CalculateFilledArea | ( | ) |
Compute the area currently occupied by the zone fill.
Definition at line 1195 of file zone.cpp.
References m_area, and m_FilledPolysList.
Referenced by TEARDROP_MANAGER::createTeardrop(), and ZONE_FILLER::Fill().
double ZONE::CalculateOutlineArea | ( | ) |
Compute the area of the zone outline (not the filled area).
Definition at line 1218 of file zone.cpp.
References std::abs(), SHAPE_POLY_SET::Area(), m_outlinearea, and m_Poly.
|
inline |
Return an iterator to visit all points of the zone's main outline with holes.
Definition at line 520 of file zone.h.
References SHAPE_POLY_SET::CIterateWithHoles(), and m_Poly.
|
inlinestatic |
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 158 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by BOARD::Add(), FOOTPRINT::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 141 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetIsShownAsBitmap(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and EE_SELECTION_TOOL::unhighlight().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_SYMBOL::LIB_SYMBOL(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 153 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), IS_LINKED, SELECTED_BY_DRAG, and SKIP_STRUCT.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 143 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
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 EDA_ITEM.
Reimplemented in FP_ZONE.
Definition at line 180 of file zone.cpp.
References ZONE().
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 150 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Create a copy of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 184 of file board_item.cpp.
References PCB_GROUP::AddItem(), EDA_ITEM::Clone(), BOARD_ITEM::GetParentGroup(), and EDA_ITEM::m_Uuid.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), FOOTPRINT::Duplicate(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), and ARRAY_CREATOR::Invoke().
|
overridevirtual |
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 695 of file zone.cpp.
References FlipLayerMask(), BOARD_ITEM::GetBoard(), GetLayerSet(), Mirror(), and SetLayerSet().
|
inlineinherited |
Definition at line 104 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 84 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PROPERTIES_PANEL::getItemValue(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 92 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inline |
Definition at line 112 of file zone.h.
References m_priority.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), GetMsgPanelInfo(), ZONE_SEARCH_HANDLER::GetResultCell(), IsSame(), FOOTPRINT::cmp_zones::operator()(), ZONE_SETTINGS::operator<<(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), ZONE_DESC::ZONE_DESC(), BOARD_EDITOR_CONTROL::ZoneMerge(), and zonesNeedUpdate().
|
virtualinherited |
Definition at line 57 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 43 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), PCB_T, and EDA_ITEM::Type().
Referenced by BOARD_ADAPTER::addShape(), FOOTPRINT::BuildCourtyardCaches(), PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), BuildSmoothedPoly(), CacheBoundingBox(), collidesWithArea(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), enclosedByAreaFunc(), existsOnLayerFunc(), PCB_VIA::FlashLayer(), PAD::FlashLayer(), FP_SHAPE::Flip(), FP_TEXT::Flip(), FP_TEXTBOX::Flip(), PCB_DIMENSION_BASE::Flip(), PCB_SHAPE::Flip(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), PCB_TEXTBOX::Flip(), PCB_TRACK::Flip(), PCB_ARC::Flip(), PCB_VIA::Flip(), Flip(), PCB_PLUGIN::format(), fromToFunc(), BOARD_ITEM::GetBoard(), PCB_EXPR_CONTEXT::GetBoard(), NETINFO_ITEM::GetBoundingBox(), GetBoundingBox(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), FOOTPRINT::GetCourtyard(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), getFieldFunc(), GetInteractingZones(), GetItemDescription(), BOARD_ITEM::GetLayerName(), PCB_VIA::GetMinAnnulus(), NETINFO_ITEM::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), PAD::GetOwnClearance(), PCB_MARKER::GetSeverity(), PAD::GetSolderMaskExpansion(), PCB_VIA::GetSolderMaskExpansion(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), PCB_TRACK::GetWidthConstraint(), inDiffPairFunc(), ROUTER_TOOL::Init(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), BOARD_ITEM::IsLocked(), PCB_VIA::IsTented(), BOARD_ITEM::layerMaskDescribe(), PCB_VIA::layerMaskDescribe(), PAD::MergePrimitivesAsPolygon(), Move(), DIALOG_TEXTBOX_PROPERTIES::onBorderChecked(), EAGLE_PLUGIN::packageWire(), padsNeedUpdate(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), FOOTPRINT::ResolveTextVar(), BOARD_CONNECTED_ITEM::SetNetCode(), TEARDROP_DIALOG::TEARDROP_DIALOG(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), TransformSmoothedOutlineToPolygon(), BOARD::UpdateRatsnestExclusions(), FOOTPRINT::ViewBBox(), PAD::ViewBBox(), PCB_TRACK::ViewBBox(), PAD::ViewGetLOD(), PCB_BITMAP::ViewGetLOD(), PCB_VIA::ViewGetLOD(), FOOTPRINT::~FOOTPRINT(), and ~ZONE().
int ZONE::GetBorderHatchPitch | ( | ) | const |
HatchBorder related methods.
Definition at line 814 of file zone.cpp.
References m_borderHatchPitch.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
overridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 323 of file zone.cpp.
References SHAPE_POLY_SET::BBox(), BOARD_ITEM::GetBoard(), and m_Poly.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), ZONE_FILLER::buildCopperItemClearances(), ZONE_FILLER::buildThermalSpokes(), collidesWithArea(), ZONE_FILLER::Fill(), ZONE_FILLER::fillNonCopperZone(), GetInteractingZones(), HitTest(), ZONE_FILLER::knockoutThermalReliefs(), ALTIUM_PCB::ParsePolygons6Data(), DRC_TEST_PROVIDER_DISALLOW::Run(), ZONE_FILLER::subtractHigherPriorityZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), and DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer().
|
inlinevirtualinherited |
This defaults to the center of the bounding box if not overridden.
Reimplemented in PAD, PCB_MARKER, PCB_SHAPE, and PCB_ARC.
Definition at line 93 of file board_item.h.
References EDA_ITEM::GetBoundingBox(), and BOX2< Vec >::GetCenter().
Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_SELECTION_TOOL::FindItem(), and ALTIUM_PCB::HelperParseDimensions6Radial().
|
inlineoverridevirtual |
|
inline |
Definition at line 530 of file zone.h.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetRelativeIndices(), and m_Poly.
Referenced by GetPosition().
|
inline |
Definition at line 652 of file zone.h.
References m_cornerRadius.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 648 of file zone.h.
References m_cornerSmoothingType.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
static |
Definition at line 985 of file zone.cpp.
References EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, and ZONE_BORDER_HATCH_DIST_MIL.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_PCB::HelperPcpShapeAsBoardKeepoutRegion(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), EAGLE_PLUGIN::loadPlain(), LEGACY_PLUGIN::loadZONE_CONTAINER(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParsePolygons6Data(), PCB_PARSER::parseZONE(), and ZONE().
|
inline |
Definition at line 698 of file zone.h.
References m_doNotAllowCopperPour.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), GetMsgPanelInfo(), isKeepoutZone(), IsSame(), ZONE_SETTINGS::operator<<(), DRC_TEST_PROVIDER_DISALLOW::Run(), and zonesNeedUpdate().
|
inline |
Definition at line 702 of file zone.h.
References m_doNotAllowFootprints.
Referenced by KI_TEST::CheckFpZone(), PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), GetMsgPanelInfo(), isKeepoutZone(), IsSame(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 701 of file zone.h.
References m_doNotAllowPads.
Referenced by KI_TEST::CheckFpZone(), PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), GetMsgPanelInfo(), isKeepoutZone(), IsSame(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 700 of file zone.h.
References m_doNotAllowTracks.
Referenced by KI_TEST::CheckFpZone(), PNS::ITEM::collideSimple(), PCB_PLUGIN::format(), GetMsgPanelInfo(), isKeepoutZone(), IsSame(), ZONE_SETTINGS::operator<<(), PNS_KICAD_IFACE_BASE::syncZone(), and zonesNeedUpdate().
|
inline |
Definition at line 699 of file zone.h.
References m_doNotAllowVias.
Referenced by KI_TEST::CheckFpZone(), PNS::ITEM::collideSimple(), DRAWING_TOOL::DrawVia(), PCB_PLUGIN::format(), GetMsgPanelInfo(), isKeepoutZone(), IsSame(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 145 of file eda_item.h.
References IS_BROKEN, IS_CHANGED, IS_MOVING, IS_NEW, IS_PASTED, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), EDA_ITEM::ClearEditFlags(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_SYMBOL::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
virtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 229 of file board_item.cpp.
References EDA_ITEM::GetClass(), and UNIMPLEMENTED_FOR.
Referenced by collidesWithArea(), DRAWING_TOOL::DrawVia(), DRC_RTREE::Insert(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), and PCB_CONTROL::UpdateMessagePanel().
|
virtualinherited |
Return the NETCLASS for this item.
Definition at line 97 of file board_connected_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetDesignSettings(), NETINFO_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::m_netinfo, and BOARD_DESIGN_SETTINGS::m_NetSettings.
Referenced by PCB_VIA::GetDrillValue(), BOARD_INSPECTION_TOOL::getItemDescription(), PAD::GetMsgPanelInfo(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClassName(), PCB_EXPR_NETCLASS_REF::GetValue(), PCB_EDIT_FRAME::SetTrackSegmentWidth(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
overridevirtual |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes.
This routine returns a COMPOUND shape (set of simple shapes which make up the pad for use with routing, collision determination, etc).
aLayer | in case of items spanning multiple layers, only the shapes belonging to aLayer will be returned. Pass UNDEFINED_LAYER to return shapes for all layers. |
aFlash | optional parameter allowing a caller to force the pad to be flashed (or not flashed) on the current layer (default is to honour the pad's setting and the current connections for the given layer). |
Reimplemented from BOARD_ITEM.
Definition at line 1311 of file zone.cpp.
References m_FilledPolysList.
|
inline |
Definition at line 608 of file zone.h.
References m_FilledPolysList.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), ZONE_FILLER::Fill(), CONNECTIVITY_DATA::IsConnectedOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inline |
This area is cached from the most recent call to CalculateFilledArea().
Definition at line 215 of file zone.h.
References m_area.
|
inline |
Definition at line 602 of file zone.h.
References 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(), ZONE_FILLER::Fill(), CN_CONNECTIVITY_ALGO::FindIsolatedCopperIslands(), PCB_PLUGIN::format(), CN_ZONE_LAYER::GetAnchor(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), and DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testZoneLayer().
|
inline |
|
inline |
Definition at line 174 of file zone.h.
References m_fillMode.
Referenced by KI_TEST::CheckFpZone(), ZONE_FILLER::fillCopperZone(), ZONE_FILLER::fillNonCopperZone(), PCB_PLUGIN::format(), IsSame(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
PCB_LAYER_ID ZONE::GetFirstLayer | ( | ) | const |
Definition at line 245 of file zone.cpp.
References m_layerSet, LSET::UIOrder(), and UNDEFINED_LAYER.
Referenced by PCB_EDIT_FRAME::Edit_Zone_Params(), PCB_PLUGIN::format(), HatchBorder(), TEARDROP_MANAGER::setTeardropPriorities(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), and TransformSmoothedOutlineToPolygon().
|
inlineinherited |
Definition at line 142 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), BuildBoardPolygonOutlines(), collidesWithArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), BOARD_COMMIT::dirtyIntersectingZones(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_INSPECTION_TOOL::makeDRCEngine(), CONVERT_TOOL::makePolysFromChainedSegs(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), PAD_TOOL::RecombinePad(), BOARD::Remove(), FOOTPRINT::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented in BOARD, PCB_SHAPE, and PCB_TRACK.
Definition at line 256 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
overridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 656 of file zone.cpp.
References _, GetIsRuleArea(), IsOnCopperLayer(), and IsTeardropArea().
Referenced by GetMsgPanelInfo().
MD5_HASH ZONE::GetHashValue | ( | PCB_LAYER_ID | aLayer | ) |
Definition at line 387 of file zone.cpp.
References g_nullPoly, SHAPE_POLY_SET::GetHash(), and m_filledPolysHash.
Referenced by ZONE_FILLER::Fill().
|
inline |
Definition at line 278 of file zone.h.
References m_hatchBorderAlgorithm.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inline |
Definition at line 263 of file zone.h.
References m_hatchGap.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
inline |
Definition at line 275 of file zone.h.
References m_hatchHoleMinArea.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 761 of file zone.h.
References m_borderHatchLines.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Definition at line 266 of file zone.h.
References m_hatchOrientation.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
inline |
Definition at line 269 of file zone.h.
References m_hatchSmoothingLevel.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 272 of file zone.h.
References m_hatchSmoothingValue.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 580 of file zone.h.
References m_borderStyle.
Referenced by PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inline |
Definition at line 260 of file zone.h.
References m_hatchThickness.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
void ZONE::GetInteractingZones | ( | PCB_LAYER_ID | aLayer, |
std::vector< ZONE * > * | aSameNetCollidingZones, | ||
std::vector< ZONE * > * | aOtherNetIntersectingZones | ||
) | 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.
The copper pour will end up effectively merged though, so we need to do some calculations with them in mind.
Definition at line 1034 of file zone.cpp.
References SHAPE_POLY_SET::Collide(), BOARD_ITEM::GetBoard(), GetBoundingBox(), BOARD_CONNECTED_ITEM::GetNetCode(), BOX2< Vec >::Inflate(), m_Poly, EDA_IU_SCALE::mmToIU(), and pcbIUScale.
Referenced by BuildSmoothedPoly().
|
inline |
Definition at line 711 of file zone.h.
References m_islandRemovalMode.
Referenced by KI_TEST::CheckFpZone(), ZONE_FILLER::Fill(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Accessors to parameters used in Rule Area zones:
Definition at line 697 of file zone.h.
References m_isRuleArea.
Referenced by BuildSmoothedPoly(), KI_TEST::CheckFpZone(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::Edit_Zone_Params(), ZONE_FILLER::Fill(), PCB_PLUGIN::format(), GetFriendlyName(), GetItemDescription(), GetMsgPanelInfo(), HitTestFilledArea(), IsConnected(), isKeepoutZone(), IsSame(), PCB_SELECTION_TOOL::itemPassesFilter(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), EDA_3D_CANVAS::OnMouseMove(), ZONE_SETTINGS::operator<<(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_DISALLOW::Run(), PNS_KICAD_IFACE_BASE::syncZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), BOARD_EDITOR_CONTROL::ZoneMerge(), and zonesNeedUpdate().
|
overridevirtual |
Return a user-visible description string of this item.
This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from EDA_ITEM.
Definition at line 780 of file zone.cpp.
References _, Format(), BOARD_ITEM::GetBoard(), GetIsRuleArea(), BOARD::GetLayerName(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), SHAPE_POLY_SET::VERTEX_INDEX::m_contour, m_CornerSelection, m_layerSet, and LSET::Seq().
Referenced by DRC_ENGINE::EvalRules(), and PNS_KICAD_IFACE_BASE::syncZone().
|
overridevirtual |
Return the primary layer this item is on.
Reimplemented from BOARD_ITEM.
Definition at line 239 of file zone.cpp.
References BOARD_ITEM::GetLayer().
Referenced by DRAWING_TOOL::DrawZone(), ZONE_DESC::ZONE_DESC(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 94 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by FP_SHAPE::GetItemDescription(), PCB_DIMENSION_BASE::GetItemDescription(), PCB_SHAPE::GetItemDescription(), PCB_TEXT::GetItemDescription(), PCB_TEXTBOX::GetItemDescription(), PCB_TRACK::GetItemDescription(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), and FOOTPRINT::ResolveTextVar().
|
inlineoverridevirtual |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented from BOARD_ITEM.
Definition at line 122 of file zone.h.
References m_layerSet.
Referenced by CN_CONNECTIVITY_ALGO::Add(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), KI_TEST::CheckFpZone(), collidesWithArea(), ZONE_FILLER::Fill(), Flip(), PCB_PLUGIN::format(), ZONE_SEARCH_HANDLER::GetResultCell(), InitDataFromSrcInCopyCtor(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), IsSame(), FOOTPRINT::cmp_zones::operator()(), ZONE_SETTINGS::operator<<(), DRC_TEST_PROVIDER_DISALLOW::Run(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::Run(), PCB_SELECTION_TOOL::Selectable(), PNS_KICAD_IFACE_BASE::syncZone(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), BOARD::TestZoneIntersection(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), BOARD_EDITOR_CONTROL::ZoneMerge(), and zonesNeedUpdate().
|
inline |
Definition at line 152 of file zone.h.
References GetLocalClearance().
Referenced by GetLocalClearance(), and ZONE_DESC::ZONE_DESC().
|
overridevirtual |
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 470 of file zone.cpp.
References _, m_isRuleArea, and m_ZoneClearance.
Referenced by ZONE_FILLER::buildThermalSpokes(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), BOARD_INSPECTION_TOOL::InspectClearance(), ZONE_FILLER::knockoutThermalReliefs(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
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 147 of file board_connected_item.h.
Referenced by DRC_ENGINE::EvalRules().
|
inline |
Definition at line 309 of file zone.h.
References m_localFlgs.
Referenced by InitDataFromSrcInCopyCtor().
|
inlineinherited |
Definition at line 176 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
Referenced by PCB_EDIT_FRAME::ExchangeFootprint().
|
inline |
Definition at line 230 of file zone.h.
References m_lock.
Referenced by ZONE_FILLER::Fill().
|
overridevirtual |
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 991 of file zone.cpp.
References add_zone.
|
inline |
Definition at line 714 of file zone.h.
References m_minIslandArea.
Referenced by KI_TEST::CheckFpZone(), ZONE_FILLER::Fill(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), and zonesNeedUpdate().
|
inline |
Definition at line 251 of file zone.h.
References m_ZoneMinThickness.
Referenced by ZONE_FILLER::addHatchFillTypeOnZone(), KI_TEST::CheckFpZone(), DRC_ENGINE::EvalRules(), ZONE_FILLER::Fill(), ZONE_FILLER::fillCopperZone(), ZONE_FILLER::fillNonCopperZone(), PCB_PLUGIN::format(), IsSame(), ZONE_SETTINGS::operator<<(), ALTIUM_PCB::ParsePolygons6Data(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
overridevirtual |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
aList | is the list to populate. |
Reimplemented from EDA_ITEM.
Definition at line 521 of file zone.cpp.
References _, AccumulateDescription(), AREA, Format(), GetAssignedPriority(), BOARD_ITEM::GetBoard(), GetDoNotAllowCopperPour(), GetDoNotAllowFootprints(), GetDoNotAllowPads(), GetDoNotAllowTracks(), GetDoNotAllowVias(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), GetFriendlyName(), GetIsRuleArea(), BOARD::GetLayerName(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD_CONNECTED_ITEM::GetOwnClearance(), HATCH_PATTERN, BOARD_ITEM::IsLocked(), IsOnCopperLayer(), m_area, SHAPE_POLY_SET::VERTEX_INDEX::m_contour, m_CornerSelection, m_FilledPolysList, m_fillMode, m_layerSet, m_zoneName, UNITS_PROVIDER::MessageTextFromValue(), PCB_EDIT_FRAME_NAME, POLYGONS, LSET::Seq(), UNDEFINED_LAYER, 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(), BOARD_INSPECTION_TOOL::InspectClearance(), isCoupledDiffPairFunc(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), BOARD_EDITOR_CONTROL::RepairBoard(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow().
|
inherited |
Returns the name of the effective netclass.
Primarily for the use of the property system.
Definition at line 106 of file board_connected_item.cpp.
References BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), and NETCLASS::GetName().
Referenced by BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), and main().
|
inherited |
Definition at line 89 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(), KI_TEST::CheckFpZone(), connectedItemFilter(), CreateRoutesSection(), TEARDROP_MANAGER::createTeardrop(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), PCB_EDIT_FRAME::ExchangeFootprint(), PNS::NODE::FindItemByParent(), TEARDROP_MANAGER::findTouchingTrack(), PCB_PLUGIN::format(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), CONNECTIVITY_DATA::GetConnectedItems(), GetInteractingZones(), PCB_TRACK::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), CONNECTIVITY_DATA::GetRatsnestForPad(), BOARD_INSPECTION_TOOL::highlightNet(), DIALOG_PAD_PROPERTIES::initValues(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), CONNECTIVITY_DATA::IsConnectedOnLayer(), IsIsland(), IsSame(), TEARDROP_MANAGER::isViaAndTrackInSameZone(), ZONE_FILLER::knockoutThermalReliefs(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), 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(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), SameNet(), PCB_SELECTION_CONDITIONS::sameNetFunc(), PCB_SELECTION_TOOL::selectNet(), 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::testItemAgainstItems(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), DRC_TEST_PROVIDER_ZONE_CONNECTIONS::testZoneLayer(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones(), BOARD::TracksInNet(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), PCB_CONTROL::UpdateMessagePanel(), VIAPAD::VIAPAD(), PCB_TRACK::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Definition at line 112 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(), PAD::GetMsgPanelInfo(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), BOARD_NETLIST_UPDATER::getNetname(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), ZONE_SEARCH_HANDLER::GetResultCell(), PCB_EXPR_NETNAME_REF::GetValue(), BOARD_INSPECTION_TOOL::InspectClearance(), isCoupledDiffPairFunc(), CN_CLUSTER::OriginNetName(), BRDITEMS_PLOTTER::PlotFilledAreas(), BRDITEMS_PLOTTER::PlotPad(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem().
|
inherited |
Definition at line 118 of file board_connected_item.cpp.
References _, BOARD_ITEM::GetBoard(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD_CONNECTED_ITEM::GetNetname(), and UnescapeString().
Referenced by PAD::GetItemDescription(), PCB_TRACK::GetItemDescription(), PCB_VIA::GetItemDescription(), and GetItemDescription().
|
inline |
Access to m_Poly parameters.
Definition at line 490 of file zone.h.
References m_Poly, and SHAPE_POLY_SET::TotalVertices().
Referenced by BuildSmoothedPoly(), and PCB_PLUGIN::format().
|
inline |
This area is cached from the most recent call to CalculateOutlineArea().
Definition at line 225 of file zone.h.
References m_outlinearea.
Referenced by TEARDROP_MANAGER::setTeardropPriorities().
|
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. |
Reimplemented in PAD.
Definition at line 66 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(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), and GetMsgPanelInfo().
|
inline |
Definition at line 248 of file zone.h.
References m_PadConnection.
Referenced by KI_TEST::CheckFpZone(), DRC_ENGINE::EvalRules(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 163 of file board_item.h.
References EDA_ITEM::m_parent.
Referenced by PCB_POINT_EDITOR::addCorner(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), PNS_KICAD_IFACE::Commit(), FOOTPRINT::CoverageRatio(), BOARD_ITEM::DeleteStructure(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_PLUGIN::format(), FormatProbeItem(), BOARD_ITEM::GetBoard(), getClosestGroup(), FP_TEXT::GetItemDescription(), FP_TEXTBOX::GetItemDescription(), BOARD_ITEM::GetParentFootprint(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), FP_TEXT::GetShownText(), FP_TEXTBOX::GetShownText(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), ALTIUM_PCB::HelperShapeSetLocalCoord(), GENERAL_COLLECTOR::Inspect(), FP_SHAPE::IsParentFlipped(), FP_TEXT::IsParentFlipped(), PCB_SELECTION_TOOL::itemPassesFilter(), memberOfFunc(), EDIT_TOOL::MoveExact(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), BOARD_COMMIT::Push(), PCB_PARSER::resolveGroups(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::Selectable(), BOARD_ITEM::SwapItemData(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), FP_ZONE::ViewGetLOD(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Definition at line 239 of file board_item.cpp.
References BOARD_ITEM::GetParent(), PCB_FOOTPRINT_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by CN_CONNECTIVITY_ALGO::Add(), DRC_TEST_PROVIDER_SOLDER_MASK::checkItemMask(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), PNS::ITEM::collideSimple(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), PCB_SHAPE::GetParentFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsInNetTie(), DRC_ENGINE::IsNetTieExclusion(), LEGACY_PLUGIN::loadMODULE_TEXT(), PAD_TOOL::RecombinePad(), PAD::SameLogicalPadAs(), PAD::SharesNetTieGroup(), DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testShapeLineChain(), and zonesNeedUpdate().
|
inlineinherited |
Definition at line 72 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), BOARD_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), getClosestGroup(), BOARD::GroupLegalOps(), BOARD_ITEM::IsLocked(), memberOfFunc(), BOARD::Move(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), BOARD::Remove(), FOOTPRINT::Remove(), GROUP_TOOL::RemoveFromGroup(), BOARD_ITEM::SwapItemData(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and PCB_GROUP::WithinScope().
|
overridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 233 of file zone.cpp.
References GetCornerPosition().
Referenced by EAGLE_PLUGIN::loadPlain().
|
inline |
Definition at line 281 of file zone.h.
References SHAPE_POLY_SET::GetGlobalIndex(), m_CornerSelection, and m_Poly.
|
inherited |
Definition at line 134 of file board_connected_item.cpp.
References NETINFO_ITEM::GetShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by PAD::IsFreePad(), and PAD::IsNoConnectPad().
|
inlinevirtualinherited |
Return the coordinates that should be used for sorting this element visually compared to other elements.
For instance, for lines the midpoint might be a better sorting point than either end.
Reimplemented in SCH_LINE.
Definition at line 265 of file eda_item.h.
References EDA_ITEM::GetPosition().
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 82 of file board_item.cpp.
References DEFAULT_LINE_WIDTH, EDA_IU_SCALE::mmToIU(), and pcbIUScale.
Referenced by CONVERT_TOOL::CreatePolys(), and PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog().
|
inline |
Definition at line 692 of file zone.h.
References m_teardropType.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), and ZONE_SETTINGS::operator<<().
|
inline |
Definition at line 184 of file zone.h.
References m_thermalReliefGap.
Referenced by KI_TEST::CheckFpZone(), DRC_ENGINE::EvalRules(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
int ZONE::GetThermalReliefGap | ( | PAD * | aPad, |
wxString * | aSource = nullptr |
||
) | const |
Definition at line 360 of file zone.cpp.
References _, PAD::GetLocalThermalGapOverride(), and m_thermalReliefGap.
|
inline |
Definition at line 195 of file zone.h.
References m_thermalReliefSpokeWidth.
Referenced by KI_TEST::CheckFpZone(), DRC_ENGINE::EvalRules(), PCB_PLUGIN::format(), ZONE_SETTINGS::operator<<(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
inherited |
Return a translated description of the type for this EDA_ITEM for display in user facing messages.
Definition at line 301 of file eda_item.cpp.
References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().
|
inherited |
Definition at line 140 of file board_connected_item.cpp.
References NETINFO_ITEM::GetUnescapedShortNetname(), and BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by KIGFX::PCB_PAINTER::draw(), and PCB_TRACK::ViewGetLOD().
|
inlineinherited |
Definition at line 76 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::x.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetY(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 82 of file board_item.h.
References EDA_ITEM::GetPosition(), and VECTOR2< T >::y.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), BOARD_ITEM::SetX(), TRACK_VIA_DESC::TRACK_VIA_DESC(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 124 of file zone.h.
References m_zoneName.
Referenced by KI_TEST::CheckFpZone(), PCB_PLUGIN::format(), ZONE_SEARCH_HANDLER::GetResultCell(), PNS::ROUTER::isStartingPointRoutable(), Matches(), EDA_3D_CANVAS::OnMouseMove(), ZONE_SETTINGS::operator<<(), PNS_KICAD_IFACE_BASE::syncZone(), ZONE_DESC::ZONE_DESC(), and zonesNeedUpdate().
|
inline |
Definition at line 594 of file zone.h.
References m_FilledPolysList.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inlineinherited |
Definition at line 143 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), FOOTPRINT::IsConflicting(), IsConflicting(), SCH_MOVE_TOOL::Main(), SCH_SCREEN::MarkConnections(), SCH_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::orthoLineDrag(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and EE_SELECTION_TOOL::selectMultiple().
|
inlinevirtualinherited |
Reimplemented in PAD, and PCB_VIA.
Definition at line 128 of file board_item.h.
Referenced by DRAWING_TOOL::DrawVia(), hasDrilledHole(), DRC_RTREE::Insert(), BOARD_INSPECTION_TOOL::InspectClearance(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), and PCB_CONTROL::UpdateMessagePanel().
|
inlinevirtualinherited |
Check if this item has line stoke properties.
Reimplemented in PCB_SHAPE.
Definition at line 172 of file board_item.h.
void ZONE::HatchBorder | ( | ) |
Compute the hatch lines depending on the hatch parameters and stores it in the zone's attribute m_borderHatchLines.
Definition at line 855 of file zone.cpp.
References SEG::A, std::abs(), SEG::B, SHAPE_POLY_SET::CVertex(), DIAGONAL_EDGE, DIAGONAL_FULL, GetFirstLayer(), SHAPE_POLY_SET::IsEmpty(), SHAPE_POLY_SET::IterateSegmentsWithHoles(), SHAPE_POLY_SET::IterateWithHoles(), KiROUND(), m_borderHatchLines, m_borderHatchPitch, m_borderStyle, m_Poly, NO_HATCH, sortEndsByDescendingX(), UnHatchBorder(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_POINT_EDITOR::addCorner(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::DeleteItems(), Mirror(), Move(), MoveEdge(), Rotate(), SetBorderDisplayStyle(), and PCB_POINT_EDITOR::updateItem().
bool ZONE::HigherPriority | ( | const ZONE * | aOther | ) | const |
Definition at line 186 of file zone.cpp.
References m_priority, m_teardropType, EDA_ITEM::m_Uuid, and TD_NONE.
Referenced by ZONE_FILLER::Fill().
|
overridevirtual |
Test if aRect intersects this item.
aRect | A reference to a BOX2I object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 429 of file zone.cpp.
References BOX2< Vec >::Contains(), SHAPE_POLY_SET::CVertex(), GetBoundingBox(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), m_Poly, BOX2< Vec >::Normalize(), and SHAPE_POLY_SET::TotalVertices().
|
overridevirtual |
Test if a point is near an outline edge or a corner of this zone.
aPosition | the VECTOR2I to test |
Reimplemented from EDA_ITEM.
Definition at line 405 of file zone.cpp.
References HitTestForCorner(), HitTestForEdge(), EDA_IU_SCALE::mmToIU(), and pcbIUScale.
bool ZONE::HitTestCutout | ( | const VECTOR2I & | aRefPos, |
int * | aOutlineIdx = nullptr , |
||
int * | aHoleIdx = nullptr |
||
) | const |
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 496 of file zone.cpp.
References SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), m_Poly, SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN_BASE::PointInside().
Referenced by EDIT_TOOL::DeleteItems().
bool ZONE::HitTestFilledArea | ( | PCB_LAYER_ID | aLayer, |
const VECTOR2I & | aRefPos, | ||
int | aAccuracy = 0 |
||
) | const |
Test if the given VECTOR2I is within the bounds of a filled area of this zone.
aLayer | is the layer to test on |
aRefPos | A VECTOR2I to test |
aAccuracy | Expand the distance by which the areas are expanded for the hittest |
Definition at line 482 of file zone.cpp.
References SHAPE_POLY_SET::Contains(), GetIsRuleArea(), m_FilledPolysList, and m_Poly.
Referenced by CN_ANCHOR::ConnectedItemsCount(), GENERAL_COLLECTOR::Inspect(), and CN_ANCHOR::IsDangling().
bool ZONE::HitTestForCorner | ( | const VECTOR2I & | refPos, |
int | aAccuracy, | ||
SHAPE_POLY_SET::VERTEX_INDEX * | aCornerHit = nullptr |
||
) | const |
Test if the given VECTOR2I is near a corner.
refPos | is the VECTOR2I to test. |
aAccuracy | increase the item bounding box by this amount. |
aCornerHit | [out, optional] is the index of the closest vertex found when return value is true |
Definition at line 415 of file zone.cpp.
References SHAPE_POLY_SET::CollideVertex(), and m_Poly.
Referenced by HitTest(), GENERAL_COLLECTOR::Inspect(), and PCB_SELECTION_TOOL::Main().
bool ZONE::HitTestForEdge | ( | const VECTOR2I & | refPos, |
int | aAccuracy, | ||
SHAPE_POLY_SET::VERTEX_INDEX * | aCornerHit = nullptr |
||
) | const |
Test if the given VECTOR2I is near a segment defined by 2 corners.
refPos | is the VECTOR2I to test. |
aAccuracy | increase the item bounding box by this amount. |
aCornerHit | [out, optional] is the index of the closest vertex found when return value is true. |
Definition at line 422 of file zone.cpp.
References SHAPE_POLY_SET::CollideEdge(), and m_Poly.
Referenced by PCB_SELECTION_TOOL::GuessSelectionCandidates(), HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), GENERAL_COLLECTOR::Inspect(), and PCB_SELECTION_TOOL::Main().
void ZONE::InitDataFromSrcInCopyCtor | ( | const ZONE & | aZone | ) |
Copy aZone data to me.
Definition at line 102 of file zone.cpp.
References GetLayerSet(), GetLocalFlags(), m_area, m_borderHatchLines, m_borderHatchPitch, m_borderStyle, m_cornerRadius, m_CornerSelection, m_cornerSmoothingType, m_doNotAllowCopperPour, m_doNotAllowFootprints, m_doNotAllowPads, m_doNotAllowTracks, m_doNotAllowVias, m_filledPolysHash, m_FilledPolysList, m_fillMode, m_fillVersion, EDA_ITEM::m_flags, EDA_ITEM::m_forceVisible, m_hatchBorderAlgorithm, m_hatchGap, m_hatchHoleMinArea, m_hatchOrientation, m_hatchSmoothingLevel, m_hatchSmoothingValue, m_hatchThickness, m_insulatedIslands, m_isFilled, m_islandRemovalMode, m_isRuleArea, m_minIslandArea, m_needRefill, BOARD_CONNECTED_ITEM::m_netinfo, m_outlinearea, m_PadConnection, m_Poly, m_priority, m_teardropType, m_thermalReliefGap, m_thermalReliefSpokeWidth, m_ZoneClearance, m_ZoneMinThickness, m_zoneName, LSET::Seq(), SetLayerSet(), and SetLocalFlags().
Referenced by FP_ZONE::FP_ZONE(), operator=(), CLIPBOARD_IO::SaveSelection(), and ZONE().
|
inlineinherited |
Definition at line 108 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_FRAME::FocusOnItem(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
bool ZONE::IsConflicting | ( | ) | const |
For rule areas which exclude footprints (and therefore participate in courtyard conflicts during move).
Definition at line 227 of file zone.cpp.
References COURTYARD_CONFLICT, and EDA_ITEM::HasFlag().
Referenced by ViewGetLayers().
|
inlineoverridevirtual |
Not all ZONEs are really BOARD_CONNECTED_ITEMs....
Reimplemented from BOARD_CONNECTED_ITEM.
Definition at line 82 of file zone.h.
References GetIsRuleArea().
|
inlineinherited |
Definition at line 107 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inline |
Definition at line 242 of file zone.h.
References m_isFilled.
Referenced by KI_TEST::CheckFpZone(), collidesWithArea(), PCB_PLUGIN::format(), CONNECTIVITY_DATA::IsConnectedOnLayer(), and DRC_TEST_PROVIDER_DISALLOW::Run().
|
inlineinherited |
Definition at line 201 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
bool ZONE::IsIsland | ( | PCB_LAYER_ID | aLayer, |
int | aPolyIdx | ||
) | const |
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 1022 of file zone.cpp.
References BOARD_CONNECTED_ITEM::GetNetCode(), and m_insulatedIslands.
Referenced by PCB_PLUGIN::format().
|
inlinevirtualinherited |
Definition at line 250 of file board_item.h.
References BOARD_ITEM::m_isKnockout.
Referenced by BOARD_ADAPTER::addText(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), PCB_TEXT::GetBoundingBox(), FP_TEXT::GetEffectiveShape(), PCB_TEXT::GetEffectiveShape(), PCB_TEXT_DESC::PCB_TEXT_DESC(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotPcbGraphicItem(), PNS_KICAD_IFACE_BASE::syncTextItem(), and PCB_TEXT::TextHitTest().
|
virtualinherited |
Reimplemented in FOOTPRINT, and PAD.
Definition at line 71 of file board_item.cpp.
References FPHOLDER, BOARD_ITEM::GetBoard(), BOARD::GetBoardUse(), BOARD_ITEM::GetParentGroup(), BOARD_ITEM::IsLocked(), and BOARD_ITEM::m_isLocked.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), KI_TEST::CheckFpShape(), KI_TEST::CheckFpZone(), PCB_CONTROL::DeleteItemCursor(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), PCB_PLUGIN::format(), DSN::SPECCTRA_DB::FromSESSION(), PCB_GROUP::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfoBase_Common(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GROUP_TOOL::Group(), PCB_SELECTION_CONDITIONS::HasLockedItems(), PCB_SELECTION_CONDITIONS::HasUnlockedItems(), ROUTER_TOOL::InlineDrag(), GENERAL_COLLECTOR::Inspect(), BOARD_ITEM::IsLocked(), PAD::IsLocked(), PCB_SELECTION_TOOL::itemPassesFilter(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), TRACKS_CLEANER::mergeCollinearSegments(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_POINT_EDITOR::OnSelectionChange(), ZONE_SETTINGS::operator<<(), PCB_SELECTION_TOOL::RequestSelection(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataToWindow(), BOARD_ITEM::ViewGetLayers(), PCB_TRACK::ViewGetLayers(), and PCB_VIA::ViewGetLayers().
|
inlineinherited |
Definition at line 102 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 104 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Swap().
|
inlineinherited |
Definition at line 103 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_MOVE_TOOL::getConnectedDragItems(), DIALOG_PIN_PROPERTIES::getSyncPinsMessage(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
|
overridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 254 of file zone.cpp.
References LSET::AllCuMask(), and m_layerSet.
Referenced by ZONE_FILLER::Fill(), ZONE_FILLER::fillSingleZone(), PCB_PLUGIN::format(), GetFriendlyName(), GetMsgPanelInfo(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), EDA_3D_CANVAS::OnMouseMove(), BRDITEMS_PLOTTER::PlotFilledAreas(), DRC_TEST_PROVIDER_DISALLOW::Run(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().
|
overridevirtual |
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 317 of file zone.cpp.
References m_layerSet.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), KIGFX::PCB_PAINTER::draw(), BOARD_INSPECTION_TOOL::InspectClearance(), DRC_TEST_PROVIDER_CONNECTION_WIDTH::Run(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in LIB_TEXTBOX, SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 420 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 110 of file eda_item.h.
References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw().
bool ZONE::IsSame | ( | const ZONE & | aZoneToCompare | ) |
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 54 of file zones_functions_for_undo_redo.cpp.
References GetAssignedPriority(), GetDoNotAllowCopperPour(), GetDoNotAllowFootprints(), GetDoNotAllowPads(), GetDoNotAllowTracks(), GetDoNotAllowVias(), GetFillMode(), GetIsRuleArea(), GetLayerSet(), GetMinThickness(), BOARD_CONNECTED_ITEM::GetNetCode(), m_fillMode, m_islandRemovalMode, m_minIslandArea, m_PadConnection, m_Poly, m_thermalReliefGap, m_thermalReliefSpokeWidth, m_ZoneClearance, m_ZoneMinThickness, m_zoneName, and Outline().
Referenced by UpdateCopyOfZonesList().
|
inlineinherited |
Definition at line 106 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), HIERARCHY_PANE::UpdateHierarchySelection(), PCB_BASE_FRAME::UpdateUserUnits(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
|
inline |
Definition at line 681 of file zone.h.
References m_teardropType, and TD_NONE.
Referenced by ZONE_FILLER::buildCopperItemClearances(), BuildSmoothedPoly(), DRC_ENGINE::EvalRules(), PCB_PLUGIN::format(), GetFriendlyName(), and ZONE_FILLER::knockoutThermalReliefs().
|
inlinevirtualinherited |
Reimplemented in PCB_VIA.
Definition at line 133 of file board_item.h.
Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and DRC_TEST_PROVIDER_SILK_CLEARANCE::Run().
|
inlinevirtualinherited |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented in SCH_FIELD, SCH_ITEM, SCH_LABEL_BASE, SCH_LINE, FP_SHAPE, FP_TEXT, FP_TEXTBOX, PAD, PCB_DIMENSION_BASE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, and PCB_VIA.
Definition at line 181 of file eda_item.h.
References EDA_ITEM::m_structType, and SCH_LOCATE_ANY_T.
Referenced by SCH_EDIT_TOOL::AutoplaceFields(), ROUTER_TOOL::CanInlineDrag(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_FIELD::GetCanonicalName(), KIGFX::SCH_PAINTER::getLineWidth(), SCH_FIELD::GetName(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_FIELD::GetShownText(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingBus(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLine(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingWire(), SCH_ITEM::IsType(), FP_TEXT::IsType(), FP_TEXTBOX::IsType(), PAD::IsType(), PCB_DIMENSION_BASE::IsType(), PCB_SHAPE::IsType(), PCB_TEXT::IsType(), PCB_TEXTBOX::IsType(), PCB_VIA::IsType(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), CONVERT_TOOL::makePolysFromChainedSegs(), EE_SELECTION_TOOL::RequestSelection(), SCH_FIELD::SetId(), SCH_BASE_FRAME::UpdateItem(), and EDA_ITEM::Visit().
|
inline |
Return an iterator to visit all points of the zone's main outline without holes.
Definition at line 500 of file zone.h.
References SHAPE_POLY_SET::Iterate(), and m_Poly.
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 302 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
Referenced by GERBER_FILE_IMAGE::Visit().
|
inlinestaticinherited |
Change first parameter to avoid the DList and use std::vector instead.
Definition at line 322 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
inline |
Return an iterator to visit all points of the zone's main outline with holes.
Definition at line 510 of file zone.h.
References SHAPE_POLY_SET::IterateWithHoles(), and m_Poly.
Referenced by DSN::SPECCTRA_DB::makeIMAGE().
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
Reimplemented in PCB_VIA.
Definition at line 106 of file board_item.cpp.
References _, LSET::AllCuMask(), LSET::AllTechMask(), B_Cu, F_Cu, BOARD_ITEM::GetBoard(), BOARD::GetEnabledLayers(), BOARD::GetLayerName(), BOARD_ITEM::GetLayerSet(), PCB_LAYER_ID_COUNT, and PCBNEW_LAYER_ID_START.
Referenced by PAD::GetItemDescription(), PAD::GetMsgPanelInfo(), and PCB_TRACK::GetMsgPanelInfo().
|
inlineoverridevirtual |
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 127 of file zone.h.
References GetZoneName(), and EDA_ITEM::Matches().
Referenced by DIALOG_FIND::search(), and ZONE_SEARCH_HANDLER::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 117 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.
void ZONE::Mirror | ( | const VECTOR2I & | aMirrorRef, |
bool | aMirrorLeftRight | ||
) |
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 703 of file zone.cpp.
References HatchBorder(), m_FilledPolysList, m_Poly, and SHAPE_POLY_SET::Mirror().
Referenced by Flip().
|
overridevirtual |
Move the outlines.
offset | is moving vector |
Reimplemented from BOARD_ITEM.
Definition at line 629 of file zone.cpp.
References BOARD_ITEM::GetBoard(), HatchBorder(), m_FilledPolysList, m_Poly, BOARD::m_ZoneBBoxCache, and SHAPE_POLY_SET::Move().
void ZONE::MoveEdge | ( | const VECTOR2I & | offset, |
int | aEdge | ||
) |
Move the outline Edge.
offset | is moving vector |
aEdge | is start point of the outline edge |
Definition at line 669 of file zone.cpp.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetNeighbourIndexes(), HatchBorder(), m_Poly, SetNeedRefill(), and SHAPE_POLY_SET::SetVertex().
|
inline |
|
inline |
Create a new hole on the zone; i.e., a new contour on the zone's outline.
Definition at line 564 of file zone.h.
References 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 231 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
Definition at line 82 of file zone.cpp.
References InitDataFromSrcInCopyCtor(), and EDA_ITEM::operator=().
Referenced by FP_ZONE::operator=().
|
inline |
Definition at line 312 of file zone.h.
References m_Poly.
Referenced by PCB_POINT_EDITOR::addCorner(), ZONE_FILLER::addHatchFillTypeOnZone(), BOARD::BOARD(), CADSTAR_PCB_ARCHIVE_LOADER::calculateZonePriorities(), KI_TEST::CheckFpZone(), collidesWithArea(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), CONVERT_TOOL::CreatePolys(), TEARDROP_MANAGER::createTeardrop(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawVia(), ZONE_FILLER::Fill(), PCB_BASE_FRAME::FocusOnItems(), PCB_PLUGIN::format(), ALTIUM_PCB::HelperPcpShapeAsBoardKeepoutRegion(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), IsSame(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromClosedGraphics(), FOOTPRINT::cmp_zones::operator()(), EAGLE_PLUGIN::packagePolygon(), ALTIUM_PCB::ParsePolygons6Data(), ZONE_CREATE_HELPER::performZoneCutout(), PCB_POINT_EDITOR::removeCorner(), DRC_TEST_PROVIDER_DISALLOW::Run(), PNS_KICAD_IFACE_BASE::syncZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), BOARD::TestZoneIntersection(), PCB_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), and zonesNeedUpdate().
|
inline |
|
inline |
Definition at line 525 of file zone.h.
References m_Poly, and SHAPE_POLY_SET::RemoveAllContours().
void ZONE::RemoveCutout | ( | int | aOutlineIdx, |
int | aHoleIdx | ||
) |
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 714 of file zone.cpp.
References SHAPE_POLY_SET::BooleanAdd(), SHAPE_POLY_SET::Hole(), SHAPE_POLY_SET::HoleCount(), m_Poly, SHAPE_POLY_SET::OutlineCount(), SHAPE_POLY_SET::PM_FAST, and SetNeedRefill().
Referenced by EDIT_TOOL::DeleteItems().
|
inlinevirtualinherited |
|
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 LIB_TEXTBOX, SCH_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.
Definition at line 409 of file eda_item.h.
|
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 168 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::replaceString, text, and WHOLEWORD.
Referenced by EDA_TEXT::Replace(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), and SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext().
Rotate the outlines.
aCentre | is rot centre |
Reimplemented from BOARD_ITEM.
Definition at line 684 of file zone.cpp.
References HatchBorder(), m_FilledPolysList, m_Poly, and SHAPE_POLY_SET::Rotate().
Referenced by ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), EAGLE_PLUGIN::loadPlain(), DSN::SPECCTRA_DB::makeIMAGE(), and EAGLE_PLUGIN::packageRectangle().
bool ZONE::SameNet | ( | const ZONE * | aOther | ) | const |
Definition at line 203 of file zone.cpp.
References BOARD_CONNECTED_ITEM::GetNetCode().
|
inlineinherited |
Definition at line 66 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 54 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
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().
Referenced by PCB_PROPERTIES_PANEL::valueChanged().
|
inline |
aPriority | is the priority level. |
Definition at line 107 of file zone.h.
References m_priority.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadZone(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
void ZONE::SetBorderDisplayStyle | ( | ZONE_BORDER_DISPLAY_STYLE | aBorderHatchStyle, |
int | aBorderHatchPitch, | ||
bool | aRebuilBorderdHatch | ||
) |
Set all hatch parameters for the zone.
aBorderHatchStyle | is the style of the hatch, specified as one of HATCH_STYLE possible values. |
aBorderHatchPitch | is the hatch pitch in iu. |
aRebuildBorderHatch | is a flag to indicate whether to re-hatch after having set the previous parameters. |
Definition at line 820 of file zone.cpp.
References HatchBorder(), m_borderStyle, EDA_IU_SCALE::mmToIU(), pcbIUScale, SetBorderHatchPitch(), ZONE_BORDER_HATCH_MAXDIST_MM, and ZONE_BORDER_HATCH_MINDIST_MM.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperPcpShapeAsBoardKeepoutRegion(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), and ALTIUM_PCB::ParsePolygons6Data().
void ZONE::SetBorderHatchPitch | ( | int | aPitch | ) |
Set the hatch pitch parameter for the zone.
aPitch | is the hatch pitch in iu. |
Definition at line 835 of file zone.cpp.
References m_borderHatchPitch.
Referenced by SetBorderDisplayStyle().
|
inlineinherited |
Definition at line 116 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::SetFlags().
Referenced by KIGFX::SCH_PAINTER::draw(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inline |
Definition at line 541 of file zone.h.
References SHAPE_POLY_SET::CVertex(), SHAPE_POLY_SET::GetRelativeIndices(), m_Poly, SetNeedRefill(), SHAPE_POLY_SET::SetVertex(), VECTOR2< T >::x, and VECTOR2< T >::y.
void ZONE::SetCornerRadius | ( | unsigned int | aRadius | ) |
Definition at line 375 of file zone.cpp.
References m_cornerRadius, and SetNeedRefill().
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 646 of file zone.h.
References m_cornerSmoothingType.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 705 of file zone.h.
References m_doNotAllowCopperPour.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperSetZoneKeepoutRestrictions(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), and EAGLE_PLUGIN::setKeepoutSettingsToZone().
|
inline |
Definition at line 709 of file zone.h.
References m_doNotAllowFootprints.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperSetZoneKeepoutRestrictions(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), and EAGLE_PLUGIN::setKeepoutSettingsToZone().
|
inline |
Definition at line 708 of file zone.h.
References m_doNotAllowPads.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperSetZoneKeepoutRestrictions(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), and EAGLE_PLUGIN::setKeepoutSettingsToZone().
|
inline |
Definition at line 707 of file zone.h.
References m_doNotAllowTracks.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperSetZoneKeepoutRestrictions(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), and EAGLE_PLUGIN::setKeepoutSettingsToZone().
|
inline |
Definition at line 706 of file zone.h.
References m_doNotAllowVias.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperSetZoneKeepoutRestrictions(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), and EAGLE_PLUGIN::setKeepoutSettingsToZone().
|
inline |
Set the list of filled polygons.
Definition at line 623 of file zone.h.
References m_FilledPolysList.
Referenced by ZONE_FILLER::Fill(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inline |
Definition at line 240 of file zone.h.
References m_fillFlags.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), and ZONE_FILLER::Fill().
|
inline |
Definition at line 173 of file zone.h.
References 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(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 139 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by SCH_EAGLE_PLUGIN::addBusEntries(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SCH_ALTIUM_PLUGIN::AddTextBox(), SCH_MOVE_TOOL::AlignElements(), PCB_CONTROL::AppendBoard(), SCH_EDIT_FRAME::BreakSegment(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), SCH_EDIT_TOOL::ChangeTextType(), GRAPHICS_CLEANER::cleanupShapes(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), SCH_DRAWING_TOOLS::createNewText(), SCH_DRAWING_TOOLS::createSheetPin(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::EnterGroup(), PAD_TOOL::explodePad(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_COLLECTOR::Inspect(), CONVERT_TOOL::makePolysFromChainedSegs(), CONVERT_TOOL::makePolysFromClosedGraphics(), CONVERT_TOOL::makePolysFromOpenGraphics(), SCH_SCREEN::MarkConnections(), TRACKS_CLEANER::mergeCollinearSegments(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_MOVE_TOOL::moveItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), KIGFX::ORIGIN_VIEWITEM::ORIGIN_VIEWITEM(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_ALTIUM_PLUGIN::ParseBezier(), SCH_ALTIUM_PLUGIN::ParseBus(), SCH_ALTIUM_PLUGIN::ParseBusEntry(), SCH_ALTIUM_PLUGIN::ParseHarnessPort(), SCH_ALTIUM_PLUGIN::ParseJunction(), SCH_ALTIUM_PLUGIN::ParseLabel(), SCH_ALTIUM_PLUGIN::ParseLine(), SCH_ALTIUM_PLUGIN::ParseNetLabel(), SCH_ALTIUM_PLUGIN::ParseNoERC(), SCH_ALTIUM_PLUGIN::ParsePolygon(), SCH_ALTIUM_PLUGIN::ParsePolyline(), SCH_ALTIUM_PLUGIN::ParsePort(), SCH_ALTIUM_PLUGIN::ParseRectangle(), SCH_ALTIUM_PLUGIN::ParseRoundRectangle(), SCH_ALTIUM_PLUGIN::ParseSheetSymbol(), SCH_ALTIUM_PLUGIN::ParseSignalHarness(), SCH_ALTIUM_PLUGIN::ParseWire(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceText(), SCH_SYMBOL::Plot(), BACK_ANNOTATE::processNetNameChange(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), BOARD::Remove(), FOOTPRINT::Remove(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDIT_FRAME::SaveCopyInUndoList(), EE_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetBrightened(), EDA_ITEM::SetIsShownAsBitmap(), EDA_ITEM::SetModified(), EDA_ITEM::SetSelected(), SCH_DRAWING_TOOLS::SingleClickPlace(), BOARD_COMMIT::Stage(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
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.
aEnable | True forces the item to be drawn. False uses the item's visibility setting to determine if the item is to be drawn. |
Definition at line 199 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by SCH_FIND_REPLACE_TOOL::FindNext(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
|
inline |
Definition at line 279 of file zone.h.
References m_hatchBorderAlgorithm.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 264 of file zone.h.
References m_hatchGap.
Referenced by ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 276 of file zone.h.
References m_hatchHoleMinArea.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 267 of file zone.h.
References m_hatchOrientation.
Referenced by ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 270 of file zone.h.
References m_hatchSmoothingLevel.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 273 of file zone.h.
References m_hatchSmoothingValue.
Referenced by ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 581 of file zone.h.
References m_borderStyle.
Referenced by BOARD::AddArea(), CADSTAR_PCB_ARCHIVE_LOADER::getZoneFromCadstarShape(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and EAGLE_PLUGIN::loadPolygon().
|
inline |
Definition at line 261 of file zone.h.
References m_hatchThickness.
Referenced by ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 243 of file zone.h.
References m_isFilled.
Referenced by DRC_TEST_PROVIDER_SOLDER_MASK::buildRTrees(), TEARDROP_MANAGER::createTeardrop(), ZONE_FILLER::Fill(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), and ALTIUM_PCB::ParseRegions6Data().
|
inline |
Definition at line 637 of file zone.h.
References m_insulatedIslands.
Referenced by ZONE_FILLER::Fill().
|
inlinevirtualinherited |
Definition at line 251 of file board_item.h.
References BOARD_ITEM::m_isKnockout.
Referenced by PCB_TEXT_DESC::PCB_TEXT_DESC().
|
inline |
Definition at line 712 of file zone.h.
References m_islandRemovalMode.
Referenced by TEARDROP_MANAGER::createTeardrop(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), and CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().
|
inline |
Definition at line 704 of file zone.h.
References m_isRuleArea.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), ZONE_SETTINGS::ExportSetting(), ALTIUM_PCB::HelperPcpShapeAsBoardKeepoutRegion(), ALTIUM_PCB::HelperPcpShapeAsFootprintKeepoutRegion(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPolygon(), FABMASTER::loadZone(), EAGLE_PLUGIN::setKeepoutSettingsToZone(), and ZONE().
|
inlineinherited |
Definition at line 165 of file eda_item.h.
References EDA_ITEM::ClearFlags(), IS_SHOWN_AS_BITMAP, and EDA_ITEM::SetFlags().
|
overridevirtual |
Set the layer this item is on.
This method is virtual because some items (in fact: class DIMENSION) have a slightly different initialization.
aLayer | The layer number. |
Reimplemented from BOARD_ITEM.
Definition at line 260 of file zone.cpp.
References SetLayerSet().
Referenced by BOARD::AddArea(), PCAD2KICAD::PCB_POLYGON::AddToBoard(), TEARDROP_MANAGER::createTeardrop(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadZone(), PlotSolderMaskLayer(), EAGLE_PLUGIN::setKeepoutSettingsToZone(), and ZONE_DESC::ZONE_DESC().
|
overridevirtual |
Reimplemented from BOARD_ITEM.
Definition at line 266 of file zone.cpp.
References m_filledPolysHash, m_FilledPolysList, m_insulatedIslands, m_layerSet, LSET::Seq(), SetNeedRefill(), and UnFill().
Referenced by BOARD::BOARD(), ZONE_SETTINGS::ExportSetting(), Flip(), ALTIUM_PCB::HelperSetZoneLayers(), InitDataFromSrcInCopyCtor(), CADSTAR_PCB_ARCHIVE_LOADER::loadAreas(), CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryAreas(), FABMASTER::loadZone(), EAGLE_PLUGIN::setKeepoutSettingsToZone(), and SetLayer().
|
inline |
Definition at line 153 of file zone.h.
References m_ZoneClearance.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToBoard(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), TEARDROP_MANAGER::createTeardrop(), ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadZone(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 310 of file zone.h.
References m_localFlgs.
Referenced by InitDataFromSrcInCopyCtor(), and ZONE().
|
inlineinherited |
Definition at line 171 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_localRatsnestVisible.
|
inlinevirtualinherited |
Reimplemented in PCB_GROUP, and FOOTPRINT.
Definition at line 254 of file board_item.h.
References BOARD_ITEM::m_isLocked.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), EDIT_TOOL::DragArcTrack(), ZONE_SETTINGS::ExportSetting(), EDIT_TOOL::FilletTracks(), ROUTER_TOOL::InlineDrag(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetTracks(), DSN::SPECCTRA_DB::makeTRACK(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_PARSER::Parse(), ALTIUM_PCB::ParsePolygons6Data(), CLIPBOARD_IO::SaveSelection(), PCB_GROUP::SetLocked(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), and DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 715 of file zone.h.
References m_minIslandArea.
Referenced by ZONE_SETTINGS::ExportSetting(), and CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().
|
inline |
Definition at line 252 of file zone.h.
References m_ZoneMinThickness, and SetNeedRefill().
Referenced by BOARD::BOARD(), TEARDROP_MANAGER::createTeardrop(), ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), PlotSolderMaskLayer(), and ZONE_DESC::ZONE_DESC().
|
inherited |
Definition at line 64 of file eda_item.cpp.
References IS_CHANGED, EDA_ITEM::m_parent, EDA_ITEM::SetFlags(), and EDA_ITEM::SetModified().
Referenced by SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), LEGACY_PLUGIN::loadZONE_CONTAINER(), SCH_LINE::Move(), SCH_SYMBOL::Move(), SCH_LINE::MoveEnd(), SCH_LINE::MoveStart(), LIB_PIN::MoveTo(), PCB_EDIT_FRAME::OpenProjectFiles(), ALTIUM_PCB::Parse(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), PCB_PARSER::parseZONE(), LIB_SYMBOL::RemoveDrawItem(), SCH_SYMBOL::SetConvert(), SCH_SYMBOL::SetLibId(), EDA_ITEM::SetModified(), LIB_FIELD::SetName(), SCH_SYMBOL::SetTransform(), and SCH_SYMBOL::SetUnit().
|
inline |
Definition at line 246 of file zone.h.
References m_needRefill.
Referenced by PCB_POINT_EDITOR::addCorner(), AddPolygon(), AppendCorner(), ZONE_FILLER::fillSingleZone(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), MoveEdge(), ALTIUM_PCB::ParseRegions6Data(), PCB_POINT_EDITOR::removeCorner(), RemoveCutout(), SetCornerPosition(), SetCornerRadius(), SetLayerSet(), SetMinThickness(), SetThermalReliefGap(), SetThermalReliefSpokeWidth(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Set a NET_INFO object for the item.
Definition at line 83 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::m_netinfo.
Referenced by BOOST_AUTO_TEST_CASE(), EDIT_TOOL::DragArcTrack(), EDIT_TOOL::FilletTracks(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), FABMASTER::loadEtch(), CADSTAR_PCB_ARCHIVE_LOADER::loadNets(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadVias(), FABMASTER::loadZone(), main(), and CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes().
|
inlineinherited |
Definition at line 106 of file board_connected_item.h.
References BOARD_CONNECTED_ITEM::SetNetCode().
|
inherited |
Set net using a net code.
aNetCode | is a net code for the new net. It has to exist in NETINFO_LIST held by BOARD. |
aNoAssert | if true, do not assert that the net exists. Otherwise, item is assigned to the unconnected net. |
Definition at line 44 of file board_connected_item.cpp.
References BOARD::FindNet(), BOARD_ITEM::GetBoard(), BOARD_ITEM::IsOnCopperLayer(), BOARD_CONNECTED_ITEM::m_netinfo, and NETINFO_LIST::OrphanedItem().
Referenced by BOARD::AddArea(), PNS_KICAD_IFACE::AddItem(), PCAD2KICAD::PCB_LINE::AddToBoard(), PCAD2KICAD::PCB_POLYGON::AddToBoard(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertTracks6ToBoardItemOnLayer(), TEARDROP_MANAGER::createTeardrop(), PCB_EDIT_FRAME::Edit_Zone_Params(), ZONE_SETTINGS::ExportSetting(), FOOTPRINT::FOOTPRINT(), FP_ZONE::FP_ZONE(), ROUTER_TOOL::handleLayerSwitch(), EAGLE_PLUGIN::loadPlain(), EAGLE_PLUGIN::loadSignals(), LEGACY_PLUGIN::loadTrackList(), DSN::SPECCTRA_DB::makeTRACK(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes(), FOOTPRINT::operator=(), ALTIUM_PCB::ParsePolygons6Data(), BOARD_CONNECTED_ITEM::SetNetCode(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::transferDataToPad(), PNS_KICAD_IFACE::UpdateItem(), and ROUTER_TOOL::updateSizesAfterLayerSwitch().
|
inline |
Definition at line 315 of file zone.h.
References m_Poly.
Referenced by FABMASTER::loadZone().
|
inline |
Definition at line 249 of file zone.h.
References m_PadConnection.
Referenced by ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), TEARDROP_MANAGER::createTeardrop(), ZONE_SETTINGS::ExportSetting(), CADSTAR_PCB_ARCHIVE_LOADER::loadCoppers(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), FABMASTER::loadZone(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inlinevirtualinherited |
Reimplemented in LIB_SYMBOL, and PCB_DIMENSION_BASE.
Definition at line 100 of file eda_item.h.
References EDA_ITEM::m_parent.
Referenced by BOARD::Add(), FOOTPRINT::Add(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), SCH_SHEET::AddPin(), PAD::AddPrimitive(), PAD::AddPrimitiveAnnotationBox(), PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_SCREEN::Append(), LIB_FIELD::Copy(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), SCH_DRAWING_TOOLS::createNewText(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), LIB_SYMBOL::Flatten(), FOOTPRINT::FOOTPRINT(), PCB_PLUGIN::FootprintSave(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), CADSTAR_SCH_ARCHIVE_LOADER::getKiCadSchText(), LIB_SYMBOL::LIB_SYMBOL(), SCH_LEGACY_PLUGIN_CACHE::loadAliases(), CADSTAR_SCH_ARCHIVE_LOADER::loadChildSheets(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), SCH_SEXPR_PLUGIN::loadHierarchy(), SCH_LEGACY_PLUGIN::loadHierarchy(), KI_TEST::LoadHierarchy(), LIB_SYMBOL::operator=(), FOOTPRINT::operator=(), PCB_PARSER::parseFOOTPRINT_unchecked(), SCH_SEXPR_PARSER::ParseSchematic(), SCH_SEXPR_PARSER::ParseSymbol(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BACK_ANNOTATE::processNetNameChange(), BOARD_COMMIT::Push(), SCH_LIB_PLUGIN_CACHE::removeSymbol(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), SaveCopyOfZones(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), SCH_SHEET_PIN::SCH_SHEET_PIN(), LIB_SYMBOL::SetFields(), PCB_DIMENSION_BASE::SetParent(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_LABEL_BASE::SwapData(), SCH_SHEET::SwapData(), SCH_SYMBOL::SwapData(), BOARD_ITEM::SwapItemData(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 71 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::DragArcTrack(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), BOARD_COMMIT::makeImage(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GROUP::RemoveItem(), BOARD_COMMIT::Revert(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), SaveCopyOfZones(), BOARD_ITEM::SwapItemData(), and TEST_BOARD_ITEM_FIXTURE::~TEST_BOARD_ITEM_FIXTURE().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 102 of file zone.h.
Referenced by ALTIUM_PCB::ConvertFills6ToBoardItemWithNet(), ALTIUM_PCB::ConvertShapeBasedRegions6ToBoardItem(), ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItem(), and ALTIUM_PCB::ParsePolygons6Data().
|
inlineinherited |
Definition at line 115 of file eda_item.h.
References SELECTED, and EDA_ITEM::SetFlags().
Referenced by PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), KIGFX::SCH_PAINTER::draw(), EE_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), SCH_LINE::MergeOverlap(), DS_PROXY_UNDO_ITEM::Restore(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and GERBVIEW_SELECTION_TOOL::selectVisually().
|
inline |
Definition at line 292 of file zone.h.
References SHAPE_POLY_SET::GetRelativeIndices(), m_CornerSelection, and m_Poly.
|
inlineinherited |
Definition at line 128 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by LEGACY_PLUGIN::loadTrackList(), and TRACKS_CLEANER::mergeCollinearSegments().
|
inlineinherited |
Definition at line 137 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_NETLIST_UPDATER::UpdateNetlist().
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 88 of file board_item.cpp.
|
inline |
Set the type of teardrop if the zone is a teardrop area for non teardrop area, the type must be TEARDROP_TYPE::TD_NONE.
Definition at line 687 of file zone.h.
References m_teardropType.
Referenced by TEARDROP_MANAGER::createTeardrop(), and ZONE_SETTINGS::ExportSetting().
|
inline |
Definition at line 176 of file zone.h.
References m_thermalReliefGap, and SetNeedRefill().
Referenced by ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inline |
Definition at line 187 of file zone.h.
References m_thermalReliefSpokeWidth, and SetNeedRefill().
Referenced by ZONE_SETTINGS::ExportSetting(), EAGLE_PLUGIN::loadPolygon(), CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates(), ALTIUM_PCB::ParsePolygons6Data(), and ZONE_DESC::ZONE_DESC().
|
inlineinherited |
Definition at line 98 of file board_item.h.
References BOARD_ITEM::GetY(), and EDA_ITEM::SetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 104 of file board_item.h.
References BOARD_ITEM::GetX(), and EDA_ITEM::SetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inline |