![]() |
KiCad PCB EDA Suite
|
#include <fp_shape.h>
Public Member Functions | |
FP_SHAPE (FOOTPRINT *parent, PCB_SHAPE_TYPE_T aShape=S_SEGMENT) | |
~FP_SHAPE () | |
bool | IsType (const KICAD_T aScanTypes[]) const override |
Check whether the item is one of the listed types. More... | |
void | SetAngle (double aAngle, bool aUpdateEnd=true) override |
Sets the angle for arcs, and normalizes it within the range 0 - 360 degrees. More... | |
void | Move (const wxPoint &aMoveVector) override |
Move an edge of the footprint. More... | |
void | Mirror (const wxPoint &aCentre, bool aMirrorAroundXAxis) |
Mirror an edge of the footprint. More... | |
void | Rotate (const wxPoint &aRotCentre, double aAngle) override |
Rotate an edge of the footprint. More... | |
void | Flip (const wxPoint &aCentre, bool aFlipLeftRight) override |
Flip entity relative to aCentre. More... | |
bool | IsParentFlipped () const |
void | SetStart0 (const wxPoint &aPoint) |
const wxPoint & | GetStart0 () const |
void | SetEnd0 (const wxPoint &aPoint) |
const wxPoint & | GetEnd0 () const |
void | SetThirdPoint0 (const wxPoint &aPoint) |
const wxPoint & | GetThirdPoint0 () const |
void | SetBezier0_C1 (const wxPoint &aPoint) |
const wxPoint & | GetBezier0_C1 () const |
void | SetBezier0_C2 (const wxPoint &aPoint) |
const wxPoint & | GetBezier0_C2 () const |
void | SetLocalCoord () |
Set relative coordinates from draw coordinates. More... | |
void | SetDrawCoord () |
Set draw coordinates (absolute values ) from relative coordinates. More... | |
void | GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override |
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes. More... | |
wxString | GetClass () const override |
Return the class name. More... | |
wxString | GetParentAsString () const |
wxString | GetSelectMenuText (EDA_UNITS aUnits) const override |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position. More... | |
BITMAP_DEF | 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... | |
double | ViewGetLOD (int aLayer, KIGFX::VIEW *aView) const override |
Return the level of detail (LOD) of the item. More... | |
void | SetFilled (bool aFlag) |
bool | IsFilled () const |
void | SetWidth (int aWidth) |
int | GetWidth () const |
double | GetAngle () const |
void | SetShape (PCB_SHAPE_TYPE_T aShape) |
PCB_SHAPE_TYPE_T | GetShape () const |
void | SetBezControl1 (const wxPoint &aPoint) |
const wxPoint & | GetBezControl1 () const |
void | SetBezControl2 (const wxPoint &aPoint) |
const wxPoint & | GetBezControl2 () const |
void | SetPosition (const wxPoint &aPos) override |
wxPoint | GetPosition () const override |
const wxPoint & | GetStart () const |
Function GetStart returns the starting point of the graphic. More... | |
int | GetStartY () |
int | GetStartX () |
void | SetStart (const wxPoint &aStart) |
void | SetStartY (int y) |
void | SetStartX (int x) |
const wxPoint & | GetEnd () const |
Function GetEnd returns the ending point of the graphic. More... | |
int | GetEndY () |
int | GetEndX () |
void | SetEnd (const wxPoint &aEnd) |
void | SetEndY (int y) |
void | SetEndX (int x) |
const wxPoint & | GetThirdPoint () const |
Function GetThirdPoint returns the third point point of the graphic. More... | |
int | GetThirdPointY () |
int | GetThirdPointX () |
void | SetThirdPoint (const wxPoint &aPoint) |
void | SetThirdPointY (int y) |
void | SetThirdPointX (int x) |
wxPoint | GetCenter () const override |
This defaults to the center of the bounding box if not overridden. More... | |
wxPoint | GetArcStart () const |
wxPoint | GetArcEnd () const |
wxPoint | GetArcMid () const |
std::vector< wxPoint > | GetRectCorners () const |
double | GetArcAngleStart () const |
function GetArcAngleStart() More... | |
double | GetArcAngleEnd () const |
function GetArcAngleEnd() More... | |
int | GetRadius () const |
Function GetRadius returns the radius of this item Has meaning only for arc and circle. More... | |
void | SetArcStart (const wxPoint &aArcStartPoint) |
Initialize the start arc point. More... | |
void | SetArcEnd (const wxPoint &aArcEndPoint) |
Initialize the end arc point. More... | |
void | SetCenter (const wxPoint &aCenterPoint) |
For arcs and circles: More... | |
void | SetArcGeometry (const wxPoint &aStart, const wxPoint &aMid, const wxPoint &aEnd) |
Set the three controlling points for an arc. More... | |
const wxPoint | GetFocusPosition () const override |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
FOOTPRINT * | GetParentFootprint () const |
Function GetParentFootprint returns a pointer to the parent footprint, or NULL if PCB_SHAPE does not belong to a footprint. More... | |
const std::vector< wxPoint > & | GetBezierPoints () const |
const std::vector< wxPoint > | BuildPolyPointsList () const |
Build and return the list of corners in a std::vector<wxPoint> It must be used only to convert the SHAPE_POLY_SET internal corner buffer to a list of wxPoints, and nothing else, because it duplicates the buffer, that is inefficient to know for instance the corner count. More... | |
int | GetPointCount () const |
SHAPE_POLY_SET & | GetPolyShape () |
const SHAPE_POLY_SET & | GetPolyShape () const |
bool | IsPolyShapeValid () const |
void | SetPolyShape (const SHAPE_POLY_SET &aShape) |
void | SetBezierPoints (const std::vector< wxPoint > &aPoints) |
void | RebuildBezierToSegmentsPointsList (int aMinSegLen) |
Rebuild the m_BezierPoints vertex list that approximate the Bezier curve by a list of segments Has meaning only for S_CURVE DRAW_SEGMENT shape. More... | |
void | SetPolyPoints (const std::vector< wxPoint > &aPoints) |
std::vector< SHAPE * > | MakeEffectiveShapes () const |
Makes a set of SHAPE objects representing the PCB_SHAPE. More... | |
std::shared_ptr< SHAPE > | GetEffectiveShape (PCB_LAYER_ID aLayer=UNDEFINED_LAYER) const override |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes. More... | |
const EDA_RECT | GetBoundingBox () const override |
Return the orthogonal bounding box of this object for display purposes. More... | |
bool | HitTest (const wxPoint &aPosition, int aAccuracy=0) const override |
Test if aPosition is contained within or on the bounding box of an item. More... | |
bool | HitTest (const EDA_RECT &aRect, bool aContained, int aAccuracy=0) const override |
Test if aRect intersects or is contained within the bounding box of an item. More... | |
double | GetLength () const |
Function GetLength returns the length of the track using the hypotenuse calculation. More... | |
void | Move (const VECTOR2I &aMoveVector) |
void | Rotate (const VECTOR2I &aRotCentre, double aAngle) |
void | Flip (const VECTOR2I &aCentre, bool aFlipLeftRight) |
void | Scale (double aScale) |
void | TransformShapeWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, PCB_LAYER_ID aLayer, int aClearanceValue, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const override |
Function TransformShapeWithClearanceToPolygon Convert the draw segment to a closed polygon Used in filling zones calculations Circles and arcs are approximated by segments. More... | |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. More... | |
virtual void | SwapData (BOARD_ITEM *aImage) override |
Swap data between aItem and aImage. More... | |
void | SetParentGroup (PCB_GROUP *aGroup) |
PCB_GROUP * | GetParentGroup () const |
int | GetX () const |
int | GetY () const |
void | SetX (int aX) |
void | SetY (int aY) |
virtual bool | IsConnected () const |
Returns information if the object is derived from BOARD_CONNECTED_ITEM. More... | |
virtual bool | IsOnCopperLayer () const |
BOARD_ITEM_CONTAINER * | GetParent () const |
virtual PCB_LAYER_ID | GetLayer () const |
Return the primary layer this item is on. More... | |
virtual LSET | GetLayerSet () const |
Return a std::bitset of all layers on which the item physically resides. More... | |
virtual void | SetLayerSet (LSET aLayers) |
virtual void | SetLayer (PCB_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
virtual BOARD_ITEM * | Duplicate () const |
Create a copy of a of this BOARD_ITEM. More... | |
virtual bool | IsOnLayer (PCB_LAYER_ID aLayer) const |
Test to see if this object is on the given layer. More... | |
bool | IsTrack () const |
Test to see if this object is a track or via (or microvia). More... | |
virtual bool | IsLocked () const |
virtual void | SetLocked (bool aLocked) |
Modify the 'lock' status for of the item. More... | |
void | DeleteStructure () |
Delete this object after removing from its parent if it has one. More... | |
virtual BOARD * | GetBoard () const |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none. More... | |
wxString | GetLayerName () const |
Return the name of the PCB layer on which the item resides. More... | |
virtual void | ViewGetLayers (int aLayers[], int &aCount) const override |
Return the all the layers within the VIEW the object is painted on. More... | |
KICAD_T | Type () const |
Returns the type of object. More... | |
virtual void | SetParent (EDA_ITEM *aParent) |
bool | IsModified () const |
bool | IsNew () const |
bool | IsMoving () const |
bool | IsDragging () const |
bool | IsWireImage () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsResized () const |
bool | IsBrightened () const |
void | SetWireImage () |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (int type) const |
void | SetState (int type, bool state) |
STATUS_FLAGS | GetStatus () const |
void | SetStatus (STATUS_FLAGS aStatus) |
void | SetFlags (STATUS_FLAGS aMask) |
void | ClearFlags (STATUS_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
STATUS_FLAGS | GetFlags () const |
bool | HasFlag (STATUS_FLAGS aFlag) const |
STATUS_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
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 SEARCH_RESULT | Visit (INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
virtual bool | Matches (const wxFindReplaceData &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const wxFindReplaceData &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) |
template<typename T > | |
boost::optional< T > | Get (const wxString &aProperty) |
Static Public Member Functions | |
static bool | ClassOf (const EDA_ITEM *aItem) |
static wxString | ShowShape (PCB_SHAPE_TYPE_T aShape) |
Convert the enum PCB_SHAPE_TYPE_T integer value to a wxString. More... | |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static SEARCH_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const wxFindReplaceData &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Public Attributes | |
wxPoint | m_Start0 |
Start point or center, relative to footprint origin, orient 0. More... | |
wxPoint | m_End0 |
End point, relative to footprint origin, orient 0. More... | |
wxPoint | m_ThirdPoint0 |
End point for an arc. More... | |
wxPoint | m_Bezier0_C1 |
Bezier Control Point 1, relative to footprint origin, orient 0. More... | |
wxPoint | m_Bezier0_C2 |
Bezier Control Point 2, relative to footprint origin, orient 0. More... | |
const KIID | m_Uuid |
Static Public Attributes | |
static wxPoint | ZeroOffset |
A value of wxPoint(0,0) which can be passed to the Draw() functions. More... | |
Protected Member Functions | |
void | computeArcBBox (EDA_RECT &aBBox) const |
const std::vector< wxPoint > | buildBezierToSegmentsPointsList (int aMinSegLen) const |
virtual wxString | layerMaskDescribe () const |
Return a string (to be shown to the user) describing a layer mask. More... | |
bool | Matches (const wxString &aText, const wxFindReplaceData &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
Protected Attributes | |
int | m_width |
bool | m_filled |
wxPoint | m_start |
wxPoint | m_end |
wxPoint | m_thirdPoint |
PCB_SHAPE_TYPE_T | m_shape |
double | m_angle |
wxPoint | m_bezierC1 |
wxPoint | m_bezierC2 |
std::vector< wxPoint > | m_bezierPoints |
SHAPE_POLY_SET | m_poly |
PCB_LAYER_ID | m_layer |
PCB_GROUP * | m_group |
STATUS_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
STATUS_FLAGS | m_flags |
Definition at line 39 of file fp_shape.h.
FP_SHAPE::FP_SHAPE | ( | FOOTPRINT * | parent, |
PCB_SHAPE_TYPE_T | aShape = S_SEGMENT |
||
) |
Definition at line 39 of file fp_shape.cpp.
References F_SilkS, PCB_SHAPE::m_angle, BOARD_ITEM::m_layer, and PCB_SHAPE::m_shape.
Referenced by Clone().
FP_SHAPE::~FP_SHAPE | ( | ) |
Definition at line 48 of file fp_shape.cpp.
|
protectedinherited |
Definition at line 328 of file pcb_shape.cpp.
References BEZIER_POLY::GetPoly(), PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, and PCB_SHAPE::m_start.
Referenced by PCB_SHAPE::MakeEffectiveShapes(), and PCB_SHAPE::RebuildBezierToSegmentsPointsList().
|
inherited |
Build and return the list of corners in a std::vector<wxPoint> It must be used only to convert the SHAPE_POLY_SET internal corner buffer to a list of wxPoints, and nothing else, because it duplicates the buffer, that is inefficient to know for instance the corner count.
Definition at line 1206 of file pcb_shape.cpp.
References SHAPE_POLY_SET::CIterate(), SHAPE_POLY_SET::COutline(), PCB_SHAPE::m_poly, SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), PCB_SHAPE::TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlinestatic |
|
inlineinherited |
Definition at line 182 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), PCB_BASE_FRAME::FocusOnItem(), SCH_EDIT_FRAME::FocusOnItem(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
Definition at line 221 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by FOOTPRINT::Add(), BOARD::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 203 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), FOOTPRINT::BuildPolyCourtyards(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_ITEM::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), EE_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::narrowSelection(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DRAWING_TOOL::PlaceText(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_PIN_TOOL::RepeatPin(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), SCH_EDIT_FRAME::SaveCopyForRepeatItem(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 181 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_PART::LIB_PART(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), PL_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 215 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), DO_NOT_DRAW, ENDPOINT, IS_LINKED, SKIP_STRUCT, STARTPOINT, and TEMP_SELECTED.
Referenced by SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 148 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 PCB_SHAPE.
Definition at line 135 of file fp_shape.cpp.
References FP_SHAPE().
|
protectedinherited |
Definition at line 1007 of file pcb_shape.cpp.
References PNS::angle(), PCB_SHAPE::GetArcAngleStart(), PCB_SHAPE::GetRadius(), EDA_RECT::Inflate(), PCB_SHAPE::m_angle, PCB_SHAPE::m_end, PCB_SHAPE::m_start, PCB_SHAPE::m_width, EDA_RECT::Merge(), RotatePoint(), and EDA_RECT::SetOrigin().
Referenced by PCB_SHAPE::GetBoundingBox(), and PCB_SHAPE::ViewBBox().
|
inherited |
Delete this object after removing from its parent if it has one.
Definition at line 113 of file board_item.cpp.
References BOARD_ITEM::GetParent(), and BOARD_ITEM_CONTAINER::Remove().
Referenced by BOARD::PadDelete(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Create a copy of a of this BOARD_ITEM.
Reimplemented in FOOTPRINT.
Definition at line 202 of file board_item.h.
References EDA_ITEM::Clone(), and EDA_ITEM::m_Uuid.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PCB_GROUP::DeepDuplicate(), KIGFX::PCB_PAINTER::draw(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), EDIT_TOOL::Duplicate(), and ARRAY_CREATOR::Invoke().
|
overridevirtual |
Flip entity relative to aCentre.
The item is mirrored, and layer changed to the paired corresponding layer if it is on a paired layer. This function should be called only from FOOTPRINT::Flip because it is not usual to flip an item alone, without flipping the parent footprint (consider Mirror() instead).
Reimplemented from PCB_SHAPE.
Definition at line 157 of file fp_shape.cpp.
References FlipLayer(), PCB_SHAPE::GetAngle(), BOARD_ITEM::GetBoard(), BOARD_ITEM::GetLayer(), PCB_SHAPE::GetShape(), KI_FALLTHROUGH, m_Bezier0_C1, m_Bezier0_C2, PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, m_End0, PCB_SHAPE::m_poly, PCB_SHAPE::m_start, m_Start0, PCB_SHAPE::m_thirdPoint, m_ThirdPoint0, PCB_SHAPE::m_width, MIRROR(), SHAPE_POLY_SET::Mirror(), PCB_SHAPE::RebuildBezierToSegmentsPointsList(), S_ARC, S_CURVE, S_POLYGON, S_SEGMENT, SetAngle(), and BOARD_ITEM::SetLayer().
|
inlineinherited |
Definition at line 315 of file board_item.h.
References BOARD_ITEM::Flip(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
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 CLASS_D_DESC::CLASS_D_DESC(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 93 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 102 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 127 of file pcb_shape.h.
References PCB_SHAPE::m_angle.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), export_vrml_drawsegment(), export_vrml_fp_shape(), Flip(), FootprintWriteShape(), PCB_IO::format(), PCB_SHAPE::GetLength(), CADSTAR_PCB_ARCHIVE_LOADER::getLineChainFromDrawsegments(), hash_fp_item(), PCB_SHAPE::HitTest(), idf_export_outline(), PCB_SHAPE::MakeEffectiveShapes(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments(), Mirror(), PCB_PARSER::parseFOOTPRINT_unchecked(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), PCB_SHAPE::SetArcGeometry(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), and DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow().
|
inherited |
function GetArcAngleEnd()
Definition at line 427 of file pcb_shape.cpp.
References ArcTangente(), PCB_SHAPE::GetArcEnd(), PCB_SHAPE::GetCenter(), and NORMALIZE_ANGLE_POS().
|
inherited |
function GetArcAngleStart()
Definition at line 413 of file pcb_shape.cpp.
References ArcTangente(), PCB_SHAPE::GetArcStart(), PCB_SHAPE::GetCenter(), and NORMALIZE_ANGLE_POS().
Referenced by PCB_SHAPE::computeArcBBox(), KIGFX::PCB_PAINTER::draw(), and PCB_SHAPE::HitTest().
|
inherited |
Definition at line 373 of file pcb_shape.cpp.
References PCB_SHAPE::m_end, PCB_SHAPE::m_shape, PCB_SHAPE::m_thirdPoint, and S_ARC.
Referenced by PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_SHAPE::GetArcAngleEnd(), PCB_POINT_EDITOR::makePoints(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), PCB_SHAPE::TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inherited |
Definition at line 391 of file pcb_shape.cpp.
References PCB_SHAPE::m_angle, PCB_SHAPE::m_end, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, RotatePoint(), and S_ARC.
Referenced by PCB_GRID_HELPER::computeAnchors(), PCB_POINT_EDITOR::editArcMidKeepEndpoints(), PCB_POINT_EDITOR::makePoints(), PCB_SHAPE::TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 179 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), export_vrml_drawsegment(), PCB_SHAPE::GetArcAngleStart(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), PCB_SHAPE::MakeEffectiveShapes(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), PCB_SHAPE::TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 133 of file pcb_shape.h.
References PCB_SHAPE::m_bezierC1.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KIGFX::PCB_PAINTER::draw(), export_vrml_drawsegment(), export_vrml_fp_shape(), PCB_IO::format(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 136 of file pcb_shape.h.
References PCB_SHAPE::m_bezierC2.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KIGFX::PCB_PAINTER::draw(), export_vrml_drawsegment(), export_vrml_fp_shape(), PCB_IO::format(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 121 of file fp_shape.h.
References m_Bezier0_C1.
Referenced by PCB_IO::format().
|
inline |
Definition at line 124 of file fp_shape.h.
References m_Bezier0_C2.
Referenced by PCB_IO::format().
|
inlineinherited |
Definition at line 253 of file pcb_shape.h.
References PCB_SHAPE::m_bezierPoints.
Referenced by GRAPHICS_CLEANER::areEquivalent(), ConvertOutlineToPolygon(), and GRAPHICS_CLEANER::isNullSegment().
|
virtualinherited |
Return the BOARD in which this BOARD_ITEM resides, or NULL if none.
Definition at line 46 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD_ITEM::GetParent(), NULL, PCB_T, and EDA_ITEM::Type().
Referenced by PAD::BuildEffectivePolygon(), PAD::BuildEffectiveShapes(), ZONE::BuildSmoothedPoly(), KIGFX::PCB_PAINTER::draw(), exprFromTo(), VIA::FlashLayer(), PAD::FlashLayer(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), TRACK::Flip(), Flip(), FP_TEXT::Flip(), DIMENSION_BASE::Flip(), ARC::Flip(), PCB_SHAPE::Flip(), VIA::Flip(), ZONE::Flip(), BOARD_ITEM::GetBoard(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), BOARD_CONNECTED_ITEM::GetEffectiveNetclass(), ZONE::GetInteractingZones(), BOARD_ITEM::GetLayerName(), VIA::GetMinAnnulus(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), TRACK::GetMsgPanelInfo(), TRACK::GetMsgPanelInfoBase_Common(), BOARD_CONNECTED_ITEM::GetNetClass(), BOARD_CONNECTED_ITEM::GetNetnameMsg(), BOARD_CONNECTED_ITEM::GetOwnClearance(), ZONE::GetSelectMenuText(), DRC_ENGINE::GetShape(), FP_TEXT::GetShownText(), PAD::GetSolderMaskMargin(), PAD::GetSolderPasteMargin(), BOARD::GetTrackLength(), TRACK::GetWidthConstraints(), insideArea(), insideCourtyard(), isDiffPair(), BOARD_ITEM::layerMaskDescribe(), VIA::layerMaskDescribe(), CONVERT_TOOL::makePolysFromCircles(), PAD::MergePrimitivesAsPolygon(), EAGLE_PLUGIN::packageWire(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::ResolveDRCExclusions(), BOARD_CONNECTED_ITEM::SetNetCode(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), ZONE::TransformSmoothedOutlineToPolygon(), ZONE::TransformSolidAreasShapesToPolygon(), TRACK::ViewBBox(), FOOTPRINT::ViewBBox(), VIA::ViewGetLOD(), and PAD::ViewGetLOD().
|
overridevirtualinherited |
Return the orthogonal bounding box of this object for display purposes.
This box should be an enclosing perimeter for visible components of this object, and the units should be in the pcb or schematic coordinate system. It is OK to overestimate the size by a few counts.
Reimplemented from EDA_ITEM.
Definition at line 568 of file pcb_shape.cpp.
References SHAPE_POLY_SET::CIterate(), PCB_SHAPE::computeArcBBox(), FOOTPRINT::GetOrientation(), PCB_SHAPE::GetParentFootprint(), FOOTPRINT::GetPosition(), PCB_SHAPE::GetRadius(), PCB_SHAPE::GetRectCorners(), EDA_RECT::Inflate(), SHAPE_POLY_SET::IsEmpty(), PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, PCB_SHAPE::m_width, EDA_RECT::Merge(), EDA_RECT::Normalize(), PCB_SHAPE_TYPE_T_asString(), RotatePoint(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, S_SEGMENT, EDA_RECT::SetEnd(), and EDA_RECT::SetOrigin().
Referenced by BOARD_ADAPTER::addShapeWithClearance(), PCB_SHAPE::GetCenter(), and PCB_SHAPE::HitTest().
|
overridevirtualinherited |
This defaults to the center of the bounding box if not overridden.
Reimplemented from BOARD_ITEM.
Definition at line 341 of file pcb_shape.cpp.
References EDA_RECT::Centre(), PCB_SHAPE::GetBoundingBox(), PCB_SHAPE::GetEnd(), PCB_SHAPE::GetStart(), PCB_SHAPE::m_shape, PCB_SHAPE::m_start, PCB_SHAPE_TYPE_T_asString(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, and S_SEGMENT.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), export_vrml_drawsegment(), PCB_SHAPE::GetArcAngleEnd(), PCB_SHAPE::GetArcAngleStart(), PCB_SHAPE::GetFocusPosition(), PCB_SHAPE::HitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), PCB_SHAPE::MakeEffectiveShapes(), PCB_POINT_EDITOR::makePoints(), EAGLE_PLUGIN::packageRectangle(), PCB_PARSER::parsePAD(), PCB_SHAPE::TransformShapeWithClearanceToPolygon(), PCB_POINT_EDITOR::updateItem(), and PCB_POINT_EDITOR::updatePoints().
|
inlineoverridevirtual |
|
inlineinherited |
Definition at line 207 of file eda_item.h.
References IS_DRAGGED, IS_MOVED, IS_NEW, IS_PASTED, IS_RESIZED, IS_WIRE_IMAGE, 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_COMPONENT::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Properties(), PAD_TOOL::recombinePad(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), and DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow().
|
overridevirtualinherited |
Some pad shapes can be complex (rounded/chamfered rectangle), even without considering custom shapes.
This routine returns a COMPOUND shape (set of simple shapes which make up the pad for use with routing, collision determination, etc).
aLayer | in case of items spanning multiple layers, only the shapes belonging to aLayer will be returned. Pass UNDEFINED_LAYER to return shapes for all layers. |
Reimplemented from BOARD_ITEM.
Definition at line 1200 of file pcb_shape.cpp.
References PCB_SHAPE::MakeEffectiveShapes().
|
inlineinherited |
Function GetEnd returns the ending point of the graphic.
Definition at line 156 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), KIGFX::PCB_PAINTER::draw(), export_vrml_drawsegment(), export_vrml_fp_shape(), PCB_IO::format(), PCB_SHAPE::GetCenter(), PCB_SHAPE::GetLength(), PCB_SHAPE::GetRectCorners(), CONVERT_TOOL::getStartEndPoints(), hash_fp_item(), PCB_SHAPE::HitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), PCB_SHAPE::MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromRects(), GRAPHICS_CLEANER::mergeRects(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), CONVERT_TOOL::PolyToLines(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 115 of file fp_shape.h.
References m_End0.
Referenced by FootprintWriteShape(), PCB_IO::format(), CADSTAR_PCB_ARCHIVE_LOADER::getLineChainFromDrawsegments(), hash_fp_item(), DSN::SPECCTRA_DB::makeIMAGE(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments(), and GPCB_FPL_CACHE::parseFOOTPRINT().
|
inlineinherited |
Definition at line 158 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 157 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 204 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::expandConnection(), insideArea(), BOARD_INSPECTION_TOOL::InspectConstraints(), LIB_PART::LIB_PART(), DIALOG_DRC::OnDRCItemSelected(), LIB_PART::operator=(), BOARD_COMMIT::Push(), FOOTPRINT::Remove(), BOARD::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_TEXT::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlineoverridevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented from EDA_ITEM.
Definition at line 239 of file pcb_shape.h.
References PCB_SHAPE::GetCenter().
|
inlinevirtualinherited |
Return the primary layer this item is on.
Reimplemented in ZONE.
Definition at line 173 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by CN_LIST::Add(), BOARD_ADAPTER::addFootprintShapesWithClearance(), GRAPHICS_CLEANER::areEquivalent(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), AR_AUTOPLACER::buildFpAreas(), TRACKS_CLEANER::cleanup(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_BASE_FRAME::CreateNewFootprint(), CreateRoutesSection(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), PCB_EDIT_FRAME::ExchangeFootprint(), export_vrml_drawsegment(), export_vrml_footprint(), export_vrml_fp_shape(), export_vrml_fp_text(), export_vrml_pcbtext(), export_vrml_tracks(), extractDiffPairCoupledItems(), EDIT_TOOL::FilletTracks(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), TRACK::Flip(), Flip(), FP_TEXT::Flip(), DIMENSION_BASE::Flip(), FOOTPRINT::Flip(), ARC::Flip(), PCB_SHAPE::Flip(), FOOTPRINT_DESC::FOOTPRINT_DESC(), PCB_IO::FootprintSave(), FootprintWriteShape(), PCB_IO::format(), PCB_IO::formatLayer(), FP_TEXT::FP_TEXT(), DSN::SPECCTRA_DB::FromBOARD(), AR_AUTOPLACER::genModuleOnRoutingMatrix(), FOOTPRINT::GetBoundingBox(), ZONE::GetLayer(), getMatchingTextItem(), TRACK::GetMsgPanelInfo(), VIA::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), AR_AUTOPLACER::getOptimalFPPlacement(), BOARD::GetPad(), FP_TEXT_GRID_TABLE::GetValueAsLong(), TRACK::GetWidthConstraints(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), idf_export_footprint(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), isEdge(), PAD::IsFlipped(), PNS_KICAD_IFACE::IsItemVisible(), BOARD_ITEM::IsOnCopperLayer(), IsParentFlipped(), FP_TEXT::IsParentFlipped(), itemIsIncludedByFilter(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), DIALOG_FOOTPRINT_FP_EDITOR::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), TRACK::cmp_tracks::operator()(), BOARD_ITEM::ptr_cmp::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), EAGLE_PLUGIN::packagePad(), BRDITEMS_PLOTTER::PlotBoardGraphicItems(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintGraphicItems(), BRDITEMS_PLOTTER::PlotFootprintTextItems(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), BRDITEMS_PLOTTER::PlotPcbText(), CONVERT_TOOL::PolyToLines(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), processTextItem(), PAD_TOOL::recombinePad(), CLIPBOARD_IO::SaveSelection(), CONVERT_TOOL::SegmentToArc(), PCB_SELECTION_TOOL::Selectable(), FP_TEXT_GRID_TABLE::SetValueAsLong(), GLOBAL_EDIT_TOOL::swapBoardItem(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), PNS_KICAD_IFACE_BASE::syncTrack(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), AR_AUTOPLACER::testFootprintOnBoard(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem(), TRACK_VIA_DESC::TRACK_VIA_DESC(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), BOARD_ADAPTER::transformFPShapesToPolygon(), FOOTPRINT::TransformFPShapesWithClearanceToPolygon(), TRACK::ViewGetLayers(), FP_TEXT::ViewGetLayers(), FP_TEXT::ViewGetLOD(), FP_ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Return the name of the PCB layer on which the item resides.
Definition at line 60 of file board_item.cpp.
References BOARD_ITEM::GetBoard(), BOARD::GetLayerName(), BOARD::GetStandardLayerName(), and BOARD_ITEM::m_layer.
Referenced by PCB_TEXT::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), DIMENSION_BASE::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), LEADER::GetMsgPanelInfo(), PCB_TEXT::GetSelectMenuText(), GetSelectMenuText(), TRACK::GetSelectMenuText(), DIMENSION_BASE::GetSelectMenuText(), PCB_SHAPE::GetSelectMenuText(), PCB_TEXT::GetShownText(), FP_TEXT_GRID_TABLE::GetValue(), and FOOTPRINT::ResolveTextVar().
|
inlinevirtualinherited |
Return a std::bitset of all layers on which the item physically resides.
Reimplemented in VIA, PAD, ZONE, and PCB_GROUP.
Definition at line 178 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by PCB_GRID_HELPER::BestSnapAnchor(), build_pad_testpoints(), APPEARANCE_CONTROLS::doApplyLayerPreset(), DRAWING_TOOL::DrawVia(), DRC_ENGINE::EvalRules(), extractDiffPairCoupledItems(), hash_board_item(), DRC_RTREE::Insert(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_ITEM::layerMaskDescribe(), FABMASTER::loadZone(), PCB_GRID_HELPER::nearestAnchor(), CN_VISITOR::operator()(), and PANEL_SETUP_LAYERS::TransferDataFromWindow().
|
inherited |
Function GetLength returns the length of the track using the hypotenuse calculation.
Definition at line 76 of file pcb_shape.cpp.
References SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CSegment(), PCB_SHAPE::GetAngle(), PCB_SHAPE::GetEnd(), GetLineLength(), PCB_SHAPE::GetRadius(), PCB_SHAPE::GetShape(), PCB_SHAPE::GetStart(), SEG::Length(), PCB_SHAPE::m_bezierPoints, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, S_ARC, S_CURVE, S_POLYGON, S_SEGMENT, SHAPE_LINE_CHAIN::SegmentCount(), and BOARD_ITEM::ShowShape().
Referenced by PCB_SHAPE::GetMsgPanelInfo().
|
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 PCB_SHAPE.
Definition at line 129 of file fp_shape.cpp.
References show_mod_edge_xpm.
|
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 110 of file fp_shape.cpp.
References _, PCB_SHAPE::GetMsgPanelInfo(), FOOTPRINT::GetReference(), and EDA_ITEM::m_parent.
|
inlineinherited |
Definition at line 168 of file board_item.h.
References EDA_ITEM::m_parent.
Referenced by PCB_POINT_EDITOR::addCorner(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), PNS_KICAD_IFACE::Commit(), EDIT_TOOL::copyToClipboard(), FOOTPRINT::CoverageRatio(), EDIT_TOOL::CreateArray(), 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::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::DragArcTrack(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::FilterCollectorForGroups(), EDIT_TOOL::Flip(), PCB_IO::format(), FormatProbeItem(), BOARD_ITEM::GetBoard(), PCB_MARKER::GetColorLayer(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), FP_TEXT::GetSelectMenuText(), PCB_TEXT::GetShownText(), FP_TEXT::GetShownText(), insideArea(), GENERAL_COLLECTOR::Inspect(), ARRAY_CREATOR::Invoke(), DRC_ENGINE::IsNetTie(), IsParentFlipped(), FP_TEXT::IsParentFlipped(), LEGACY_PLUGIN::loadMODULE_TEXT(), memberOf(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), ALTIUM_PCB::ParseTexts6Data(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotFootprintTextItem(), POSITION_RELATIVE_TOOL::PositionRelative(), BOARD_COMMIT::Push(), PCB_PARSER::resolveGroups(), EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_SILK_CLEARANCE::Run(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), SwapItemData(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), PCB_GROUP::TopLevelGroup(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), PCB_MARKER::ViewGetLayers(), FP_ZONE::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and PCB_GROUP::WithinScope().
|
inline |
Definition at line 146 of file fp_shape.h.
References KIID::AsString(), EDA_ITEM::m_parent, and EDA_ITEM::m_Uuid.
Referenced by FP_SHAPE_DESC::FP_SHAPE_DESC().
|
inherited |
Function GetParentFootprint returns a pointer to the parent footprint, or NULL if PCB_SHAPE does not belong to a footprint.
Definition at line 478 of file pcb_shape.cpp.
References EDA_ITEM::m_parent, NULL, PCB_FOOTPRINT_T, and EDA_ITEM::Type().
Referenced by ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), PCB_SHAPE::GetBoundingBox(), PCB_SHAPE::GetRectCorners(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), and PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
inlineinherited |
Definition at line 93 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), PCB_EDIT_FRAME::ExchangeFootprint(), BOARD::GroupsSanityCheckInternal(), memberOf(), PCB_CONTROL::placeBoardItems(), BOARD_COMMIT::Push(), EDIT_TOOL::Remove(), FOOTPRINT::Remove(), BOARD::Remove(), GROUP_TOOL::RemoveFromGroup(), PCB_GROUP::TopLevelGroup(), DIALOG_GROUP_PROPERTIES::TransferDataFromWindow(), and PCB_GROUP::WithinScope().
|
inherited |
Definition at line 1235 of file pcb_shape.cpp.
References PCB_SHAPE::GetPolyShape(), and SHAPE_POLY_SET::VertexCount().
Referenced by GRAPHICS_CLEANER::isNullSegment().
|
inlineinherited |
Definition at line 268 of file pcb_shape.h.
References PCB_SHAPE::m_poly.
Referenced by PCB_POINT_EDITOR::addCorner(), ConvertOutlineToPolygon(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), export_vrml_polygon(), PCB_IO::format(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), PCB_SHAPE::GetMsgPanelInfo(), PCB_SHAPE::GetPointCount(), ALTIUM_PCB::HelperDrawsegmentSetLocalCoord(), PCB_SHAPE::IsPolyShapeValid(), PCB_SHAPE::MakeEffectiveShapes(), PCB_POINT_EDITOR::makePoints(), EAGLE_PLUGIN::packagePolygon(), BRDITEMS_PLOTTER::PlotPcbShape(), CONVERT_TOOL::PolyToLines(), PCB_POINT_EDITOR::removeCorner(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
|
overridevirtualinherited |
Reimplemented from EDA_ITEM.
Definition at line 67 of file pcb_shape.cpp.
References SHAPE_POLY_SET::CVertex(), PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, and S_POLYGON.
Referenced by CONVERT_TOOL::makePolysFromCircles().
|
inlineinherited |
Function GetRadius returns the radius of this item Has meaning only for arc and circle.
Definition at line 201 of file pcb_shape.h.
References GetLineLength(), KiROUND(), PCB_SHAPE::m_end, and PCB_SHAPE::m_start.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), PCB_SHAPE::computeArcBBox(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), PCB_SHAPE::GetBoundingBox(), PCB_SHAPE::GetLength(), hash_fp_item(), PCB_SHAPE::HitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), PCB_SHAPE::MakeEffectiveShapes(), CONVERT_TOOL::makePolysFromCircles(), PCB_PARSER::parsePAD(), PCB_SHAPE::Scale(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
inherited |
Definition at line 970 of file pcb_shape.cpp.
References PCB_SHAPE::GetEnd(), FOOTPRINT::GetOrientation(), PCB_SHAPE::GetParentFootprint(), FOOTPRINT::GetPosition(), PCB_SHAPE::GetStart(), KiROUND(), and RotatePoint().
Referenced by BOARD_ADAPTER::addShapeWithClearance(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), PCB_SHAPE::GetBoundingBox(), PCB_SHAPE::HitTest(), PCB_SHAPE::MakeEffectiveShapes(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), and PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
overridevirtual |
Return the text to display to be used in the selection clarification context menu when multiple items are found at the current cursor position.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from PCB_SHAPE.
Definition at line 121 of file fp_shape.cpp.
References _, Format(), BOARD_ITEM::GetLayerName(), PCB_SHAPE::m_shape, and BOARD_ITEM::ShowShape().
|
inlineinherited |
Definition at line 130 of file pcb_shape.h.
References PCB_SHAPE::m_shape.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), PCB_POINT_EDITOR::canAddCorner(), GRAPHICS_CLEANER::cleanupSegments(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), export_vrml_drawsegment(), export_vrml_fp_shape(), Flip(), FootprintWriteShape(), PCB_IO::format(), PCB_SHAPE::GetLength(), hash_fp_item(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromCircles(), CONVERT_TOOL::makePolysFromRects(), GRAPHICS_CLEANER::mergeRects(), Mirror(), Move(), DIALOG_GRAPHIC_ITEM_PROPERTIES::onLayer(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), CONVERT_TOOL::PolyToLines(), PCB_POINT_EDITOR::removeCorner(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), PCB_POINT_EDITOR::setAltConstraint(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), PCB_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::Validate().
|
inlineinherited |
Function GetStart returns the starting point of the graphic.
Definition at line 145 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), KIGFX::PCB_PAINTER::draw(), export_vrml_drawsegment(), export_vrml_fp_shape(), PCB_IO::format(), PCB_SHAPE::GetCenter(), PCB_SHAPE::GetLength(), PCB_SHAPE::GetRectCorners(), CONVERT_TOOL::getStartEndPoints(), hash_fp_item(), PCB_SHAPE::HitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullSegment(), PCB_SHAPE::MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromRects(), GRAPHICS_CLEANER::mergeRects(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), CONVERT_TOOL::PolyToLines(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 112 of file fp_shape.h.
References m_Start0.
Referenced by FootprintWriteShape(), PCB_IO::format(), CADSTAR_PCB_ARCHIVE_LOADER::getLineChainFromDrawsegments(), hash_fp_item(), DSN::SPECCTRA_DB::makeIMAGE(), and CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments().
|
inlineinherited |
Definition at line 147 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 146 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 186 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_ITEM::IsLocked().
|
inlineinherited |
|
inlineinherited |
Function GetThirdPoint returns the third point point of the graphic.
Definition at line 167 of file pcb_shape.h.
References PCB_SHAPE::m_thirdPoint.
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 118 of file pcb_shape.h.
References PCB_SHAPE::m_width.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), export_vrml_drawsegment(), export_vrml_fp_shape(), export_vrml_polygon(), PCB_IO::format(), hash_fp_item(), PCB_SHAPE::HitTest(), GRAPHICS_CLEANER::isNullSegment(), FABMASTER::loadPolygon(), PCB_SHAPE::MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), CONVERT_TOOL::SegmentToArc(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 97 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), BOARD_ITEM::SetY(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 103 of file board_item.h.
References EDA_ITEM::GetPosition().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), ALIGN_DISTRIBUTE_TOOL::DistributeVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), BOARD_ITEM::SetX(), and TRACK_VIA_DESC::TRACK_VIA_DESC().
|
inlineinherited |
Definition at line 205 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by TRACKS_CLEANER::cleanup(), GRAPHICS_CLEANER::cleanupSegments(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), and EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList().
|
overridevirtualinherited |
Test if aPosition is contained within or on the bounding box of an item.
aPosition | A reference to a wxPoint object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 641 of file pcb_shape.cpp.
References SHAPE_POLY_SET::Append(), ArcTangente(), SHAPE_POLY_SET::Collide(), SHAPE_POLY_SET::CollideEdge(), dummy(), EuclideanNorm(), PCB_SHAPE::GetAngle(), PCB_SHAPE::GetArcAngleStart(), PCB_SHAPE::GetCenter(), PCB_SHAPE::GetRadius(), PCB_SHAPE::GetRectCorners(), PCB_SHAPE::IsFilled(), KiROUND(), PCB_SHAPE::m_bezierPoints, PCB_SHAPE::m_end, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, PCB_SHAPE::m_width, SHAPE_POLY_SET::NewOutline(), NORMALIZE_ANGLE_POS(), PCB_SHAPE_TYPE_T_asString(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, S_SEGMENT, and TestSegmentHit().
Referenced by GENERAL_COLLECTOR::Inspect().
|
overridevirtualinherited |
Test if aRect intersects or is contained within the bounding box of an item.
aRect | A reference to a EDA_RECT object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented from EDA_ITEM.
Definition at line 773 of file pcb_shape.cpp.
References EDA_RECT::Common(), EDA_RECT::Contains(), SHAPE_POLY_SET::CVertex(), PCB_SHAPE::GetBoundingBox(), PCB_SHAPE::GetCenter(), PCB_SHAPE::GetEnd(), PCB_SHAPE::GetRadius(), PCB_SHAPE::GetRectCorners(), PCB_SHAPE::GetStart(), PCB_SHAPE::GetWidth(), EDA_RECT::Inflate(), EDA_RECT::Intersects(), EDA_RECT::IntersectsCircleEdge(), PCB_SHAPE::m_bezierPoints, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, EDA_RECT::Normalize(), PCB_SHAPE_TYPE_T_asString(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, S_SEGMENT, and SHAPE_POLY_SET::TotalVertices().
|
inlineinherited |
Definition at line 175 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), KIGFX::SCH_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_EDITOR_CONTROL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlinevirtualinherited |
Returns information if the object is derived from BOARD_CONNECTED_ITEM.
Reimplemented in ZONE, and BOARD_CONNECTED_ITEM.
Definition at line 136 of file board_item.h.
Referenced by PNS_PCBNEW_RULE_RESOLVER::DpNetPair(), DRC_ENGINE::EvalRules(), PNS::NODE::FindItemByParent(), BOARD_INSPECTION_TOOL::getItemDescription(), PCB_EXPR_NETCLASS_REF::GetValue(), PCB_EXPR_NETNAME_REF::GetValue(), inDiffPair(), BOARD_INSPECTION_TOOL::InspectClearance(), isDiffPair(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), and DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZones().
|
inlineinherited |
Definition at line 170 of file eda_item.h.
References IS_DRAGGED, and EDA_ITEM::m_flags.
Referenced by DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), and KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 173 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineinherited |
Definition at line 96 of file pcb_shape.h.
References PCB_SHAPE::m_filled, PCB_SHAPE::m_shape, S_ARC, S_CIRCLE, S_CURVE, S_LAST, S_POLYGON, S_RECT, and S_SEGMENT.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), KIGFX::PCB_PAINTER::draw(), PCB_IO::format(), hash_fp_item(), PCB_SHAPE::HitTest(), PCB_SHAPE::MakeEffectiveShapes(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), and PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
inlineinherited |
Definition at line 255 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
inlinevirtualinherited |
Reimplemented in FOOTPRINT, and PAD.
Definition at line 249 of file board_item.h.
References EDA_ITEM::GetState(), and LOCKED.
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), EDIT_TOOL::CreateArray(), PCB_CONTROL::DeleteItemCursor(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), PCB_IO::format(), PCB_TEXT::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), PCB_SHAPE::GetMsgPanelInfo(), TRACK::GetMsgPanelInfoBase_Common(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), GENERAL_COLLECTOR::Inspect(), PAD::IsLocked(), PCB_SELECTION_TOOL::itemPassesFilter(), TRACKS_CLEANER::mergeCollinearSegments(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), POSITION_RELATIVE_TOOL::PositionRelative(), PCB_SELECTION_TOOL::RequestSelection(), EDIT_TOOL::Rotate(), PNS_KICAD_IFACE_BASE::syncArc(), PNS_KICAD_IFACE_BASE::syncTrack(), PNS_KICAD_IFACE_BASE::syncVia(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), and DIALOG_TEXT_PROPERTIES::TransferDataToWindow().
|
inlineinherited |
Definition at line 167 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlineinherited |
Definition at line 169 of file eda_item.h.
References IS_MOVED, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), LIB_PIN::CalcEdit(), LIB_ARC::CalcRadiusAngles(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), and KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 168 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_EDITOR::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataToWindow(), and SCH_EDIT_FRAME::UpdateSymbolFromEditor().
|
inlinevirtualinherited |
Reimplemented in TRACK, PAD, and ZONE.
Definition at line 144 of file board_item.h.
References BOARD_ITEM::GetLayer(), and IsCopperLayer().
Referenced by CN_CONNECTIVITY_ALGO::Add(), DRC_ENGINE::EvalRules(), and BOARD_CONNECTED_ITEM::SetNetCode().
|
inlinevirtualinherited |
Test to see if this object is on the given layer.
Virtual so objects like PAD, which reside on multiple layers can do their own form of testing.
aLayer | The layer to test for. |
Reimplemented in PAD, VIA, FOOTPRINT, ZONE, and PCB_GROUP.
Definition at line 231 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by BOARD_ADAPTER::createLayers(), existsOnLayer(), GENERAL_COLLECTOR::Inspect(), PCB_LAYER_COLLECTOR::Inspect(), and PNS_KICAD_IFACE::IsItemVisible().
bool FP_SHAPE::IsParentFlipped | ( | ) | const |
Definition at line 216 of file fp_shape.cpp.
References B_Cu, BOARD_ITEM::GetLayer(), and BOARD_ITEM::GetParent().
Referenced by ViewGetLOD().
|
inherited |
Definition at line 1223 of file pcb_shape.cpp.
References PCB_SHAPE::GetPolyShape(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by export_vrml_polygon(), PCB_IO::format(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), and PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in SCH_COMPONENT, SCH_SHEET, SCH_LABEL, SCH_TEXT, SCH_SHEET_PIN, and SCH_FIELD.
Definition at line 452 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 174 of file eda_item.h.
References IS_RESIZED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::setDeviceColors().
|
inlineinherited |
Definition at line 172 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::getRenderColor(), KIGFX::SCH_PAINTER::getTextThickness(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), EE_SELECTION_TOOL::RebuildSelection(), RENDER_3D_LEGACY::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), SCH_EDIT_FRAME::SchematicCleanUp(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::selectionContains(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), and GERBVIEW_SELECTION_TOOL::unselect().
|
inlineinherited |
Test to see if this object is a track or via (or microvia).
Definition at line 241 of file board_item.h.
References PCB_TRACE_T, PCB_VIA_T, and EDA_ITEM::Type().
|
inlineoverridevirtual |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented from EDA_ITEM.
Definition at line 54 of file fp_shape.h.
References Edge_Cuts, EOT, EDA_ITEM::IsType(), BOARD_ITEM::m_layer, PCB_LOCATE_BOARD_EDGE_T, and PCB_LOCATE_GRAPHIC_T.
|
inlineinherited |
Definition at line 171 of file eda_item.h.
References IS_WIRE_IMAGE, and EDA_ITEM::m_flags.
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 344 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 363 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
protectedvirtualinherited |
Return a string (to be shown to the user) describing a layer mask.
The BOARD is needed because layer names are customizable.
Reimplemented in VIA.
Definition at line 72 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 TRACK::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), and PAD::GetSelectMenuText().
|
inherited |
Makes a set of SHAPE objects representing the PCB_SHAPE.
Caller owns the objects.
Definition at line 1085 of file pcb_shape.cpp.
References SEG::A, SEG::B, PCB_SHAPE::buildBezierToSegmentsPointsList(), SHAPE_ARC::ConvertToPolyline(), SHAPE_POLY_SET::COutline(), PCB_SHAPE::GetAngle(), PCB_SHAPE::GetArcStart(), PCB_SHAPE::GetCenter(), PCB_SHAPE::GetEnd(), FOOTPRINT::GetOrientationRadians(), PCB_SHAPE::GetPolyShape(), FOOTPRINT::GetPosition(), PCB_SHAPE::GetRadius(), PCB_SHAPE::GetRectCorners(), PCB_SHAPE::GetStart(), PCB_SHAPE::GetWidth(), PCB_SHAPE::IsFilled(), EDA_ITEM::m_parent, PCB_SHAPE::m_shape, PCB_SHAPE::m_width, SHAPE_LINE_CHAIN::Move(), PCB_SHAPE_TYPE_T_asString(), SHAPE_LINE_CHAIN::Rotate(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, S_SEGMENT, SHAPE_LINE_CHAIN::Segment(), and SHAPE_LINE_CHAIN::SegmentCount().
Referenced by PCB_SHAPE::GetEffectiveShape(), and PNS_KICAD_IFACE_BASE::syncGraphicalItem().
|
inlinevirtualinherited |
Compare the item against the search criteria in aSearchData.
The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.
aSearchData | A reference to a wxFindReplaceData object containing the search criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_COMPONENT, SCH_SHEET, SCH_TEXT, SCH_SHEET_PIN, SCH_FIELD, ZONE, SCH_PIN, SCH_MARKER, PCB_MARKER, FP_TEXT, and PCB_TEXT.
Definition at line 414 of file eda_item.h.
Referenced by SCH_EDITOR_CONTROL::HasMatch(), PCB_TEXT::Matches(), FP_TEXT::Matches(), PCB_MARKER::Matches(), SCH_MARKER::Matches(), SCH_PIN::Matches(), ZONE::Matches(), SCH_FIELD::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_EDITOR_CONTROL::ReplaceAndFindNext(), and SCH_EDITOR_CONTROL::UpdateFind().
|
protectedinherited |
Compare aText against search criteria in aSearchData.
This is a helper function for simplify derived class logic.
aText | A reference to a wxString object containing the string to test. |
aSearchData | The criteria to search against. |
Definition at line 132 of file eda_item.cpp.
References FR_MATCH_WILDCARD, FR_SEARCH_REPLACE, and EDA_ITEM::IsReplaceable().
void FP_SHAPE::Mirror | ( | const wxPoint & | aCentre, |
bool | aMirrorAroundXAxis | ||
) |
Mirror an edge of the footprint.
Do not change the layer This is a footprint shape modification. (should be only called by a footprint editing function)
Definition at line 223 of file fp_shape.cpp.
References PCB_SHAPE::GetAngle(), PCB_SHAPE::GetShape(), KI_FALLTHROUGH, m_Bezier0_C1, m_Bezier0_C2, PCB_SHAPE::m_bezierPoints, m_End0, PCB_SHAPE::m_poly, m_Start0, m_ThirdPoint0, MIRROR(), SHAPE_POLY_SET::Mirror(), S_ARC, S_CURVE, S_POLYGON, S_SEGMENT, SetAngle(), and SetDrawCoord().
Referenced by EDIT_TOOL::Mirror().
|
overridevirtual |
Move an edge of the footprint.
This is a footprint shape modification. (should be only called by a footprint editing function)
Reimplemented from PCB_SHAPE.
Definition at line 288 of file fp_shape.cpp.
References PCB_SHAPE::GetShape(), m_Bezier0_C1, m_Bezier0_C2, m_End0, PCB_SHAPE::m_poly, m_Start0, m_ThirdPoint0, SHAPE_POLY_SET::Move(), S_POLYGON, and SetDrawCoord().
Referenced by PAD_TOOL::explodePad(), and FOOTPRINT::MoveAnchorPosition().
|
inlineinherited |
Definition at line 283 of file board_item.h.
References BOARD_ITEM::Move(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 185 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
|
inherited |
Rebuild the m_BezierPoints vertex list that approximate the Bezier curve by a list of segments Has meaning only for S_CURVE DRAW_SEGMENT shape.
aMinSegLen | is the min length of segments approximating the shape. the last segment can be shorter This param avoid having too many very short segment in list. a good value is m_Width/2 to m_Width |
Definition at line 315 of file pcb_shape.cpp.
References PCB_SHAPE::buildBezierToSegmentsPointsList(), PCB_SHAPE::m_bezierPoints, PCB_SHAPE::m_shape, and S_CURVE.
Referenced by ConvertOutlineToPolygon(), Flip(), GRAPHICS_CLEANER::isNullSegment(), SetDrawCoord(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
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 159 of file eda_item.cpp.
References traceFindReplace.
Referenced by SCH_FIELD::Replace(), EDA_TEXT::Replace(), and SCH_EDITOR_CONTROL::ReplaceAndFindNext().
|
inlinevirtualinherited |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.
This function must be overridden for items that support text replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in SCH_TEXT, SCH_SHEET_PIN, SCH_FIELD, and SCH_PIN.
Definition at line 441 of file eda_item.h.
|
overridevirtual |
Rotate an edge of the footprint.
This is a footprint shape modification. (should be only called by a footprint editing function )
Reimplemented from PCB_SHAPE.
Definition at line 276 of file fp_shape.cpp.
References PCB_SHAPE::Rotate(), and SetLocalCoord().
Referenced by PAD_TOOL::explodePad(), and EAGLE_PLUGIN::packageRectangle().
|
inlineinherited |
Definition at line 299 of file board_item.h.
References BOARD_ITEM::Rotate(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
inherited |
Definition at line 147 of file pcb_shape.cpp.
References SHAPE_LINE_CHAIN::CPoints(), PCB_SHAPE::GetRadius(), KiROUND(), PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, PCB_SHAPE::m_thirdPoint, SHAPE_POLY_SET::Outline(), S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, and PCB_SHAPE::SetPolyPoints().
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex().
|
inlineinherited |
Definition at line 40 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 53 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
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().
|
overridevirtual |
Sets the angle for arcs, and normalizes it within the range 0 - 360 degrees.
aAngle | is tenths of degrees, but will soon be degrees. |
aUpdateEnd | = true to update also arc end coordinates m_thirdPoint and m_ThirdPoint0, so must be called after setting m_Start, m_Start0, m_End and m_End0 |
Reimplemented from PCB_SHAPE.
Definition at line 141 of file fp_shape.cpp.
References PCB_SHAPE::m_angle, m_End0, m_Start0, m_ThirdPoint0, RotatePoint(), and PCB_SHAPE::SetAngle().
Referenced by PCAD2KICAD::PCB_ARC::AddToFootprint(), PAD_TOOL::explodePad(), Flip(), Mirror(), EAGLE_PLUGIN::packageWire(), and GPCB_FPL_CACHE::parseFOOTPRINT().
|
inlineinherited |
Initialize the end arc point.
can be used for circles to initialize one point of the cicumference
Definition at line 222 of file pcb_shape.h.
References PCB_SHAPE::m_thirdPoint.
Referenced by PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_POINT_EDITOR::editArcMidKeepCenter(), CONVERT_TOOL::SegmentToArc(), PCB_SHAPE::SetArcGeometry(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and updateArcFromConstructionMgr().
|
inherited |
Set the three controlling points for an arc.
NB: these are NOT what's currently stored, so we have to do some calculations behind the scenes. However, they are what SHOULD be stored.
Definition at line 442 of file pcb_shape.cpp.
References VECTOR2< T >::Angle(), PNS::angle(), PCB_SHAPE::GetAngle(), GetArcCenter(), RAD2DECIDEG(), PCB_SHAPE::SetAngle(), PCB_SHAPE::SetArcEnd(), PCB_SHAPE::SetArcStart(), and PCB_SHAPE::SetCenter().
Referenced by PCB_POINT_EDITOR::editArcMidKeepEndpoints().
|
inlineinherited |
Initialize the start arc point.
can be used for circles to initialize one point of the cicumference
Definition at line 213 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by PAD::AddPrimitiveArc(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_POINT_EDITOR::editArcMidKeepCenter(), CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParsePad6NonCopper(), ALTIUM_PCB::ParseArcs6Data(), CONVERT_TOOL::SegmentToArc(), PCB_SHAPE::SetArcGeometry(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and updateArcFromConstructionMgr().
|
inlineinherited |
Definition at line 132 of file pcb_shape.h.
References PCB_SHAPE::m_bezierC1.
Referenced by PAD::AddPrimitiveCurve(), PAD_TOOL::explodePad(), PAD_TOOL::recombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 135 of file pcb_shape.h.
References PCB_SHAPE::m_bezierC2.
Referenced by PAD::AddPrimitiveCurve(), PAD_TOOL::explodePad(), PAD_TOOL::recombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inline |
Definition at line 120 of file fp_shape.h.
References m_Bezier0_C1.
Referenced by DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 123 of file fp_shape.h.
References m_Bezier0_C2.
Referenced by DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
|
inlineinherited |
Definition at line 179 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::SetFlags().
Referenced by GERBVIEW_SELECTION_TOOL::disambiguationMenu(), KIGFX::SCH_PAINTER::draw(), PCB_BASE_FRAME::FocusOnItem(), SCH_EDIT_FRAME::FocusOnItem(), PL_SELECTION_TOOL::highlight(), EE_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inlineinherited |
For arcs and circles:
Definition at line 229 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by PAD::AddPrimitiveArc(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParsePad6NonCopper(), ALTIUM_PCB::ParseArcs6Data(), CONVERT_TOOL::SegmentToArc(), PCB_SHAPE::SetArcGeometry(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and updateArcFromConstructionMgr().
void FP_SHAPE::SetDrawCoord | ( | ) |
Set draw coordinates (absolute values ) from relative coordinates.
Must be called when a relative coordinate has changed in order to see the changes on screen
Definition at line 81 of file fp_shape.cpp.
References FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), m_Bezier0_C1, m_Bezier0_C2, PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, m_End0, EDA_ITEM::m_parent, PCB_SHAPE::m_start, m_Start0, PCB_SHAPE::m_thirdPoint, m_ThirdPoint0, PCB_SHAPE::m_width, PCB_SHAPE::RebuildBezierToSegmentsPointsList(), and RotatePoint().
Referenced by PCAD2KICAD::PCB_ARC::AddToFootprint(), PCAD2KICAD::PCB_LINE::AddToFootprint(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), LEGACY_PLUGIN::loadFP_SHAPE(), Mirror(), Move(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageWire(), GPCB_FPL_CACHE::parseFOOTPRINT(), PCB_PARSER::parseFOOTPRINT_unchecked(), and FOOTPRINT::SetPosition().
|
inlineinherited |
Definition at line 159 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), MICROWAVE_TOOL::createMicrowaveInductor(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), EAGLE_PLUGIN::loadPlain(), GRAPHICS_CLEANER::mergeRects(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), CONVERT_TOOL::PolyToLines(), PAD_TOOL::recombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), PCB_POINT_EDITOR::updateItem(), and updateSegmentFromGeometryMgr().
|
inline |
Definition at line 114 of file fp_shape.h.
References m_End0.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageWire(), GPCB_FPL_CACHE::parseFOOTPRINT(), CONVERT_TOOL::PolyToLines(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 161 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 160 of file pcb_shape.h.
References PCB_SHAPE::m_end.
Referenced by DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 94 of file pcb_shape.h.
References PCB_SHAPE::m_filled.
Referenced by PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), MICROWAVE_TOOL::createPolygonShape(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperParsePad6NonCopper(), CONVERT_TOOL::LinesToPoly(), FABMASTER::loadGraphics(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
|
inlineinherited |
Definition at line 202 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_MOVE_TOOL::AlignElements(), PCB_CONTROL::AppendBoard(), FOOTPRINT::BuildPolyCourtyards(), SCH_EDIT_TOOL::ChangeTextType(), TRACKS_CLEANER::cleanup(), GRAPHICS_CLEANER::cleanupSegments(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), SCH_DRAWING_TOOLS::createNewText(), SYMBOL_EDITOR_PIN_TOOL::CreatePin(), SCH_DRAWING_TOOLS::createSheetPin(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_EDIT_TOOL::Duplicate(), PCB_SELECTION_TOOL::EnterGroup(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_SELECTION_TOOL::Main(), TRACKS_CLEANER::mergeCollinearSegments(), SYMBOL_EDITOR_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::moveItem(), EE_SELECTION_TOOL::narrowSelection(), KIGFX::ORIGIN_VIEWITEM::ORIGIN_VIEWITEM(), SCH_ALTIUM_PLUGIN::ParseBezier(), SCH_ALTIUM_PLUGIN::ParseBus(), SCH_ALTIUM_PLUGIN::ParseBusEntry(), 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::ParseWire(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceComponent(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceText(), BACK_ANNOTATE::processNetNameChange(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), FOOTPRINT::Remove(), BOARD::Remove(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_PIN_TOOL::RepeatPin(), SYMBOL_EDIT_FRAME::SaveCopyInUndoList(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetBrightened(), EDA_ITEM::SetModified(), EDA_ITEM::SetSelected(), EDA_ITEM::SetWireImage(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_TEXT::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_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 253 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by SCH_EDITOR_CONTROL::UpdateFind().
|
inlinevirtualinherited |
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 in DIMENSION_BASE, ZONE, and PCB_GROUP.
Definition at line 194 of file board_item.h.
References BOARD_ITEM::m_layer.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::addAttribute(), PNS_KICAD_IFACE::AddItem(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), PCAD2KICAD::PCB_PAD::AddToBoard(), PCAD2KICAD::PCB_FOOTPRINT::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToFootprint(), PCAD2KICAD::PCB_ARC::AddToFootprint(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), BOARD_CONNECTED_ITEM_DESC::BOARD_CONNECTED_ITEM_DESC(), BOARD_ITEM_DESC::BOARD_ITEM_DESC(), BOOST_AUTO_TEST_CASE(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_BASE_FRAME::CreateNewFootprint(), MICROWAVE_TOOL::createPolygonShape(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarText(), PAD_TOOL::explodePad(), EDIT_TOOL::FilletTracks(), PCB_TARGET::Flip(), PCB_TEXT::Flip(), TRACK::Flip(), Flip(), FP_TEXT::Flip(), FOOTPRINT::Flip(), ARC::Flip(), PCB_SHAPE::Flip(), FOOTPRINT_DESC::FOOTPRINT_DESC(), FP_TEXT::FP_TEXT(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), CONVERT_TOOL::LinesToPoly(), LEGACY_PLUGIN::loadFOOTPRINT(), FABMASTER::loadFootprints(), FABMASTER::loadGraphics(), LEGACY_PLUGIN::loadMODULE_TEXT(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetTracks(), LEGACY_PLUGIN::loadPCB_TEXT(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), EAGLE_PLUGIN::loadSignals(), LEGACY_PLUGIN::loadTrackList(), main(), DSN::SPECCTRA_DB::makeTRACK(), CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromDrawsegments(), GRAPHICS_CLEANER::mergeRects(), DIALOG_FOOTPRINT_FP_EDITOR::OnAddField(), DIALOG_FOOTPRINT_PROPERTIES::OnAddField(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageSMD(), EAGLE_PLUGIN::packageText(), EAGLE_PLUGIN::packageWire(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseComponents6Data(), ALTIUM_PCB::ParseFills6Data(), GPCB_FPL_CACHE::parseFOOTPRINT(), ALTIUM_PCB::ParsePads6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTexts6Data(), ALTIUM_PCB::ParseTracks6Data(), BOARD_EDITOR_CONTROL::PlaceTarget(), DRAWING_TOOL::PlaceText(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), CONVERT_TOOL::PolyToLines(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), processTextItem(), PNS_PCBNEW_RULE_RESOLVER::QueryConstraint(), DIALOG_PAD_PROPERTIES::redraw(), CLIPBOARD_IO::SaveSelection(), CONVERT_TOOL::SegmentToArc(), DIMENSION_BASE::SetLayer(), FP_TEXT_GRID_TABLE::SetValueAsLong(), GLOBAL_EDIT_TOOL::swapBoardItem(), TRACK_VIA_DESC::TRACK_VIA_DESC(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXT_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Reimplemented in VIA, PAD, and ZONE.
Definition at line 179 of file board_item.h.
Referenced by PANEL_SETUP_LAYERS::TransferDataFromWindow().
void FP_SHAPE::SetLocalCoord | ( | ) |
Set relative coordinates from draw coordinates.
Call in only when the geometry or the footprint is modified and therefore the relative coordinates have to be updated from the draw coordinates.
Definition at line 53 of file fp_shape.cpp.
References PNS::angle(), FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), m_Bezier0_C1, m_Bezier0_C2, PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_end, m_End0, EDA_ITEM::m_parent, PCB_SHAPE::m_start, m_Start0, PCB_SHAPE::m_thirdPoint, m_ThirdPoint0, NULL, and RotatePoint().
Referenced by PAD_TOOL::explodePad(), ALTIUM_PCB::HelperDrawsegmentSetLocalCoord(), PCB_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), and Rotate().
|
inlinevirtualinherited |
Modify the 'lock' status for of the item.
Reimplemented in FOOTPRINT.
Definition at line 257 of file board_item.h.
References LOCKED, and EDA_ITEM::SetState().
Referenced by BOARD_ITEM_DESC::BOARD_ITEM_DESC(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_PCB_ARCHIVE_LOADER::loadGroups(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetVia(), BOARD_EDITOR_CONTROL::modifyLockSelected(), ALTIUM_PCB::ParsePads6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseVias6Data(), CLIPBOARD_IO::SaveSelection(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PROPERTIES::TransferDataFromWindow().
|
inherited |
Definition at line 79 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_COMPONENT::Move(), SCH_LINE::MoveEnd(), SCH_LINE::MoveStart(), LIB_PIN::MoveTo(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_ALTIUM_PLUGIN::Parse(), ALTIUM_PCB::Parse(), LIB_PART::RemoveDrawItem(), SCH_COMPONENT::SetConvert(), SCH_COMPONENT::SetLibId(), EDA_ITEM::SetModified(), LIB_FIELD::SetName(), SCH_COMPONENT::SetTransform(), and SCH_COMPONENT::SetUnit().
|
inlinevirtualinherited |
Reimplemented in DIMENSION_BASE.
Definition at line 165 of file eda_item.h.
References EDA_ITEM::m_parent.
Referenced by FOOTPRINT::Add(), BOARD::Add(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewComponent(), SCH_SHEET::AddPin(), PAD::AddPrimitive(), 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::CreateNewPart(), SCH_DRAWING_TOOLS::createNewText(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SCH_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), LIB_PART::Flatten(), FOOTPRINT::FOOTPRINT(), GPCB_PLUGIN::FootprintLoad(), LEGACY_PLUGIN::FootprintLoad(), EAGLE_PLUGIN::FootprintLoad(), PCB_IO::FootprintLoad(), PCB_IO::FootprintSave(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), LIB_PART::LIB_PART(), SCH_LEGACY_PLUGIN_CACHE::loadAliases(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), SCH_SEXPR_PLUGIN::loadHierarchy(), SCH_LEGACY_PLUGIN::loadHierarchy(), FOOTPRINT::operator=(), LIB_PART::operator=(), PCB_PARSER::parseFOOTPRINT_unchecked(), SCH_SEXPR_PARSER::ParseSchematic(), SCH_SEXPR_PARSER::ParseSymbol(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_CONTROL::Paste(), SCH_EDITOR_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), SCH_DRAWING_TOOLS::PlaceComponent(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BACK_ANNOTATE::processNetNameChange(), BOARD_COMMIT::Push(), SCH_SEXPR_PLUGIN_CACHE::removeSymbol(), SCH_LEGACY_PLUGIN_CACHE::removeSymbol(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), SaveCopyOfZones(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SHEET_PIN::SCH_SHEET_PIN(), LIB_PART::SetFields(), DIMENSION_BASE::SetParent(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_GLOBALLABEL::SwapData(), SCH_SHEET::SwapData(), SCH_COMPONENT::SwapData(), and SwapItemData().
|
inlineinherited |
Definition at line 92 of file board_item.h.
References BOARD_ITEM::m_group.
Referenced by PCB_GROUP::AddItem(), and PCB_GROUP::RemoveItem().
|
inherited |
Definition at line 1075 of file pcb_shape.cpp.
References SHAPE_POLY_SET::Append(), PCB_SHAPE::m_poly, SHAPE_POLY_SET::NewOutline(), and SHAPE_POLY_SET::RemoveAllContours().
Referenced by PAD::AddPrimitivePoly(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), MICROWAVE_TOOL::createPolygonShape(), ALTIUM_PCB::HelperParsePad6NonCopper(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParseFills6Data(), PCB_SHAPE::Scale(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
|
inlineinherited |
Definition at line 276 of file pcb_shape.h.
References PCB_SHAPE::m_poly.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), CONVERT_TOOL::LinesToPoly(), FABMASTER::loadGraphics(), FABMASTER::loadPolygon(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), and PAD_TOOL::recombinePad().
|
overridevirtualinherited |
Reimplemented from EDA_ITEM.
Definition at line 61 of file pcb_shape.cpp.
References PCB_SHAPE::m_start.
|
inlineinherited |
Definition at line 178 of file eda_item.h.
References SELECTED, and EDA_ITEM::SetFlags().
Referenced by PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), KIGFX::SCH_PAINTER::draw(), PL_SELECTION_TOOL::highlight(), EE_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), DS_PROXY_UNDO_ITEM::Restore(), EE_TOOL_BASE< SCH_BASE_FRAME >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::selectVisually(), and GROUP_TOOL::Ungroup().
|
inlineinherited |
Definition at line 129 of file pcb_shape.h.
References PCB_SHAPE::m_shape.
Referenced by PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), CONVERT_TOOL::LinesToPoly(), FABMASTER::loadGraphics(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), GPCB_FPL_CACHE::parseFOOTPRINT(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), CONVERT_TOOL::PolyToLines(), PAD_TOOL::recombinePad(), and CONVERT_TOOL::SegmentToArc().
|
inlineinherited |
Definition at line 148 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), MICROWAVE_TOOL::createMicrowaveInductor(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getDrawSegmentFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), EAGLE_PLUGIN::loadPlain(), GRAPHICS_CLEANER::mergeRects(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), CONVERT_TOOL::PolyToLines(), PAD_TOOL::recombinePad(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), PCB_POINT_EDITOR::updateItem(), and updateSegmentFromGeometryMgr().
|
inline |
Definition at line 111 of file fp_shape.h.
References m_Start0.
Referenced by PCAD2KICAD::PCB_POLYGON::AddToFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageWire(), GPCB_FPL_CACHE::parseFOOTPRINT(), CONVERT_TOOL::PolyToLines(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 150 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 149 of file pcb_shape.h.
References PCB_SHAPE::m_start.
Referenced by DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 191 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by LEGACY_PLUGIN::loadTrackList(), TRACKS_CLEANER::mergeCollinearSegments(), PCB_SELECTION_TOOL::selectConnectedTracks(), and BOARD_ITEM::SetLocked().
|
inlineinherited |
Definition at line 200 of file eda_item.h.
References EDA_ITEM::m_status.
Referenced by BOARD_NETLIST_UPDATER::UpdateNetlist().
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 117 of file pcb_shape.h.
References PCB_SHAPE::m_width.
Referenced by PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), PCAD2KICAD::PCB_ARC::AddToFootprint(), PCAD2KICAD::PCB_LINE::AddToFootprint(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), DRAWSEGMENT_DESC::DRAWSEGMENT_DESC(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), FABMASTER::loadGraphics(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetTracks(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageWire(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseFills6Data(), GPCB_FPL_CACHE::parseFOOTPRINT(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
|
inlineinherited |
Definition at line 177 of file eda_item.h.
References IS_WIRE_IMAGE, and EDA_ITEM::SetFlags().
|
inlineinherited |
Definition at line 119 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 125 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().
|
staticinherited |
Convert the enum PCB_SHAPE_TYPE_T integer value to a wxString.
Definition at line 31 of file board_item.cpp.
References _, S_ARC, S_CIRCLE, S_CURVE, S_POLYGON, S_RECT, and S_SEGMENT.
Referenced by ConvertOutlineToPolygon(), PCB_SHAPE::GetLength(), GetSelectMenuText(), PCB_SHAPE::GetSelectMenuText(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::Validate().
|
inlinestaticinherited |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers.
aLeft | The left hand item to compare. |
aRight | The right hand item to compare. |
Definition at line 470 of file eda_item.h.
|
overridevirtualinherited |
Swap data between aItem and aImage.
aItem and aImage should have the same type.
Used in undo and redo commands to swap values between an item and its copy. Only values like layer, size .. which are modified by editing are swapped.
aImage | the item image which contains data to swap. |
Reimplemented from BOARD_ITEM.
Definition at line 1246 of file pcb_shape.cpp.
References PCB_SHAPE::m_angle, PCB_SHAPE::m_bezierC1, PCB_SHAPE::m_bezierC2, PCB_SHAPE::m_bezierPoints, PCB_SHAPE::m_end, EDA_ITEM::m_flags, EDA_ITEM::m_forceVisible, BOARD_ITEM::m_layer, EDA_ITEM::m_parent, PCB_SHAPE::m_poly, PCB_SHAPE::m_shape, PCB_SHAPE::m_start, EDA_ITEM::m_status, PCB_SHAPE::m_thirdPoint, and PCB_SHAPE::m_width.
|
overridevirtualinherited |
Function TransformShapeWithClearanceToPolygon Convert the draw segment to a closed polygon Used in filling zones calculations Circles and arcs are approximated by segments.
aCornerBuffer | = a buffer to store the polygon |
aClearanceValue | = the clearance around the pad |
aError | = the maximum deviation from a true arc |
ignoreLineWidth | = used for edge cut items where the line width is only for visualization |
Reimplemented from BOARD_ITEM.
Definition at line 439 of file board_items_to_polygon_shape_transform.cpp.