45#include <zones_functions_for_undo_redo.h>
54bool ZONE::IsSame(
const ZONE& aZoneToCompare )
124 wxASSERT( aZoneToCompare.
Outline() );
195 for(
unsigned kk = 0; kk < aPickList.
GetCount(); kk++ )
201 for(
unsigned ii = 0; ; ii++ )
205 if( zone ==
nullptr )
225 wxASSERT_MSG( zcopy !=
nullptr,
226 wxT(
"UpdateCopyOfZonesList() error: link = NULL" ) );
236 bool notfound =
true;
238 for(
unsigned nn = 0; nn < aAuxiliaryList.
GetCount(); nn++ )
240 if( ref !=
nullptr && aAuxiliaryList.
GetPickedItem( nn ) == ref )
252 printf(
"UpdateCopyOfZonesList(): item not found in aAuxiliaryList,"
253 "combined with another zone\n" );
267 if( zone->IsSame( *zcopy ) )
281 for(
unsigned ii = 0; ii < aAuxiliaryList.
GetCount(); )
301 wxASSERT_MSG( aAuxiliaryList.
GetCount() == 0,
302 wxT(
"UpdateCopyOfZonesList() error: aAuxiliaryList not empty." ) );
void SetParentGroup(PCB_GROUP *aGroup)
void SwapItemData(BOARD_ITEM *aImage)
Swap data between aItem and aImage.
Information pertinent to a Pcbnew printed circuit board.
ZONE * GetArea(int index) const
Return the Zone at a given index.
const ZONES & Zones() const
virtual void SetParent(EDA_ITEM *aParent)
void SetLink(EDA_ITEM *aItem)
A holder to handle information on schematic or board items.
bool SetPickedItemStatus(UNDO_REDO aStatus, unsigned aIdx)
Set the type of undo/redo operation for a given picked item.
void PushItem(const ITEM_PICKER &aItem)
Push aItem to the top of the list.
UNDO_REDO GetPickedItemStatus(unsigned int aIdx) const
ITEM_PICKER GetItemWrapper(unsigned int aIdx) const
EDA_ITEM * GetPickedItemLink(unsigned int aIdx) const
bool RemovePicker(unsigned aIdx)
Remove one entry (one picker) from the list of picked items.
unsigned GetCount() const
bool SetPickedItemLink(EDA_ITEM *aLink, unsigned aIdx)
Set the link associated to a given picked item.
EDA_ITEM * GetPickedItem(unsigned int aIdx) const
Handle a list of polygons defining a copper zone.
bool GetIsRuleArea() const
Accessors to parameters used in Rule Area zones:
wxString GetRuleAreaPlacementSource() const
bool GetDoNotAllowVias() const
ZONE_FILL_MODE m_fillMode
How to fill areas:
int m_thermalReliefSpokeWidth
wxString m_zoneName
An optional unique name for this zone, used for identifying it in DRC checking.
bool GetDoNotAllowPads() const
bool GetDoNotAllowTracks() const
bool GetRuleAreaPlacementEnabled() const
SHAPE_POLY_SET * Outline()
SHAPE_POLY_SET * m_Poly
Outline of the zone.
int GetMinThickness() const
bool GetDoNotAllowFootprints() const
ZONE_FILL_MODE GetFillMode() const
virtual LSET GetLayerSet() const override
Return a std::bitset of all layers on which the item physically resides.
bool GetDoNotAllowCopperPour() const
RULE_AREA_PLACEMENT_SOURCE_TYPE GetRuleAreaPlacementSourceType() const
ISLAND_REMOVAL_MODE m_islandRemovalMode
ZONE_CONNECTION m_PadConnection
unsigned GetAssignedPriority() const
long long int m_minIslandArea
When island removal mode is set to AREA, islands below this area will be removed.
UNDO_REDO
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
void UpdateCopyOfZonesList(PICKED_ITEMS_LIST &aPickList, PICKED_ITEMS_LIST &aAuxiliaryList, BOARD *aPcb)
Function UpdateCopyOfZonesList Check a pick list to remove zones identical to their copies and set th...
void SaveCopyOfZones(PICKED_ITEMS_LIST &aPickList, BOARD *aPcb)
Function SaveCopyOfZones creates a copy of zones having a given netcode on a given layer,...