20#ifndef PCB_DRILL_MAP_H
21#define PCB_DRILL_MAP_H
63 wxString
GetClass()
const override {
return wxT(
"PCB_DRILL_MAP" ); }
133 bool HitTest(
const VECTOR2I& aPosition,
int aAccuracy = 0 )
const override;
134 bool HitTest(
const BOX2I& aRect,
bool aContained,
int aAccuracy = 0 )
const override;
146 void Serialize( google::protobuf::Any& aContainer )
const override;
147 bool Deserialize(
const google::protobuf::Any& aContainer )
override;
150 void Show(
int nestLevel, std::ostream& os )
const override { ShowDummy( os ); }
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
BOARD_ITEM(BOARD_ITEM *aParent, KICAD_T idtype, PCB_LAYER_ID aLayer=F_Cu)
Information pertinent to a Pcbnew printed circuit board.
The base class for create windows for drawing purpose.
KICAD_T Type() const
Returns the type of object.
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
Return a user-visible description string of this item.
bool HitTest(const VECTOR2I &aPosition, int aAccuracy=0) const override
Test if aPosition is inside or on the boundary of this item.
std::shared_ptr< const SHAPE_POLY_SET > m_outlineCache
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
void SetSpanChoice(int aIndex)
bool Deserialize(const google::protobuf::Any &aContainer) override
Deserializes the given protobuf message into this object.
VECTOR2I m_outlineCacheOffset
std::mutex m_outlineCacheMutex
int GetSymbolSize() const
void Move(const VECTOR2I &aMoveVector) override
Move this object.
bool GetGuideCross() const
void SetGuideCross(bool aOn)
void SetSymbolSize(int aSize)
VECTOR2I GetPosition() const override
The map has no place of its own.
void swapData(BOARD_ITEM *aImage) override
uint64_t m_outlineCacheGeneration
bool GetOutlineSlots() const
void SetOutlineSlots(bool aOn)
bool operator==(const BOARD_ITEM &aOther) const override
int GetSymbolExtent() const
const DRILL_SPAN & GetSpan() const
void SetAllSpans(bool aAll)
void Rotate(const VECTOR2I &aCentre, const EDA_ANGLE &aAngle) override
Configuration operations, deliberately not geometry transforms.
std::vector< int > ViewGetLayers() const override
Return the all the layers within the VIEW the object is painted on.
void Flip(const VECTOR2I &aCentre, FLIP_DIRECTION aFlipDirection) override
Flip this object, i.e.
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
wxString GetClass() const override
Return the class name.
std::shared_ptr< const SHAPE_POLY_SET > GetBoardOutlines() const
The board outline displaced by this map's offset.
const VECTOR2I & GetOffset() const
void SetOffset(const VECTOR2I &aOffset)
static bool ClassOf(const EDA_ITEM *aItem)
double Similarity(const BOARD_ITEM &aOther) const override
Return a measure of how likely the other object is to represent the same object.
void Serialize(google::protobuf::Any &aContainer) const override
Serializes this object to the given Any message.
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.
PCB_DRILL_MAP(BOARD_ITEM *aParent)
void SetSpan(const DRILL_SPAN &aSpan)
void SetPosition(const VECTOR2I &aPos) override
int GetSpanChoice() const
The span as an index into the board's spans, with -1 for every span.
Hole classification and drill span, shared by the drill model and the drill writers.
The Cairo implementation of the graphics abstraction layer.
void RefreshDrillMapOutlines(const BOARD &aBoard, KIGFX::VIEW *aView)
Repaint every drill map after an Edge.Cuts edit.
@ PCB_DRILL_MAP_T
class PCB_DRILL_MAP, drill symbols drawn at the holes
VECTOR2< int32_t > VECTOR2I