KiCad PCB EDA Suite
|
#include <sch_shape.h>
Public Member Functions | |
SCH_SHAPE (SHAPE_T aShape, int aLineWidth=0, FILL_T aFillType=FILL_T::NO_FILL, KICAD_T aType=SCH_SHAPE_T) | |
~SCH_SHAPE () | |
wxString | GetClass () const override |
Return the class name. More... | |
void | SwapData (SCH_ITEM *aItem) override |
Swap the internal data structures aItem with the schematic item. More... | |
bool | HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const override |
Test if aPosition is inside or on the boundary of this item. More... | |
bool | HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override |
Test if aRect intersects this item. More... | |
int | GetPenWidth () const override |
int | GetEffectiveWidth () const override |
bool | HasLineStroke () const override |
Check if this schematic item has line stoke properties. More... | |
STROKE_PARAMS | GetStroke () const override |
void | SetStroke (const STROKE_PARAMS &aStroke) override |
PLOT_DASH_TYPE | GetEffectiveLineStyle () const |
const BOX2I | GetBoundingBox () const override |
Return the orthogonal bounding box of this object for display purposes. More... | |
VECTOR2I | GetPosition () const override |
void | SetPosition (const VECTOR2I &aPos) override |
VECTOR2I | GetCenter () const |
void | BeginEdit (const VECTOR2I &aStartPoint) |
bool | ContinueEdit (const VECTOR2I &aPosition) |
void | CalcEdit (const VECTOR2I &aPosition) |
void | EndEdit () |
void | SetEditState (int aState) |
void | Move (const VECTOR2I &aOffset) override |
Move the item by aMoveVector to a new position. More... | |
void | Normalize () |
void | MirrorHorizontally (int aCenter) override |
Mirror item horizontally about aCenter. More... | |
void | MirrorVertically (int aCenter) override |
Mirror item vertically about aCenter. More... | |
void | Rotate (const VECTOR2I &aCenter) override |
Rotate the item around aCenter 90 degrees in the clockwise direction. More... | |
void | AddPoint (const VECTOR2I &aPosition) |
void | Plot (PLOTTER *aPlotter, bool aBackground) const override |
Plot the schematic item to aPlotter. 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 | GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override |
Return a user-visible description string of this item. More... | |
BITMAPS | GetMenuImage () const override |
Return a pointer to an image to be used in menus. More... | |
EDA_ITEM * | Clone () const override |
Create a duplicate of this item with linked list members set to NULL. More... | |
void | ViewGetLayers (int aLayers[], int &aCount) const override |
Return the layers the item is drawn on (which may be more than its "home" layer) More... | |
bool | IsType (const std::vector< KICAD_T > &aScanTypes) const override |
Check whether the item is one of the listed types. More... | |
SCH_ITEM * | Duplicate (bool doClone=false) const |
Routine to create a new copy of given item. More... | |
virtual bool | IsMovableFromAnchorPoint () const |
VECTOR2I & | GetStoredPos () |
void | SetStoredPos (const VECTOR2I &aPos) |
SCHEMATIC * | Schematic () const |
Searches the item hierarchy to find a SCHEMATIC. More... | |
virtual bool | IsLocked () const |
virtual void | SetLocked (bool aLocked) |
Set the 'lock' status to aLocked for of this item. More... | |
virtual bool | IsHypertext () const |
Allow items to support hypertext actions when hovered/clicked. More... | |
virtual void | DoHypertextAction (EDA_DRAW_FRAME *aFrame) const |
SCH_LAYER_ID | GetLayer () const |
Return the layer this item is on. More... | |
void | SetLayer (SCH_LAYER_ID aLayer) |
Set the layer this item is on. More... | |
const wxString & | GetDefaultFont () const |
bool | RenderAsBitmap (double aWorldScale) const override |
virtual void | GetEndPoints (std::vector< DANGLING_END_ITEM > &aItemList) |
Add the schematic item end points to aItemList if the item has end points. More... | |
virtual bool | UpdateDanglingState (std::vector< DANGLING_END_ITEM > &aItemList, const SCH_SHEET_PATH *aPath=nullptr) |
Test the schematic item to aItemList to check if it's dangling state has changed. More... | |
virtual bool | IsDangling () const |
virtual bool | CanConnect (const SCH_ITEM *aItem) const |
virtual bool | IsConnectable () const |
virtual bool | IsPointClickableAnchor (const VECTOR2I &aPos) const |
virtual std::vector< VECTOR2I > | GetConnectionPoints () const |
Add all the connection points for this item to aPoints. More... | |
void | ClearConnections () |
Clears all of the connection items from the list. More... | |
bool | IsConnected (const VECTOR2I &aPoint) const |
Test the item to see if it is connected to aPoint. More... | |
SCH_CONNECTION * | Connection (const SCH_SHEET_PATH *aSheet=nullptr) const |
Retrieve the connection associated with this object in the given sheet. More... | |
SCH_ITEM_SET & | ConnectedItems (const SCH_SHEET_PATH &aPath) |
Retrieve the set of items connected to this item on the given sheet. More... | |
void | AddConnectionTo (const SCH_SHEET_PATH &aPath, SCH_ITEM *aItem) |
Add a connection link between this item and another. More... | |
SCH_CONNECTION * | InitializeConnection (const SCH_SHEET_PATH &aPath, CONNECTION_GRAPH *aGraph) |
Create a new connection object associated with this object. More... | |
SCH_CONNECTION * | GetOrInitConnection (const SCH_SHEET_PATH &aPath, CONNECTION_GRAPH *aGraph) |
virtual bool | ConnectionPropagatesTo (const EDA_ITEM *aItem) const |
Return true if this item should propagate connection info to aItem. More... | |
bool | IsConnectivityDirty () const |
void | SetConnectivityDirty (bool aDirty=true) |
virtual void | SetLastResolvedState (const SCH_ITEM *aItem) |
std::shared_ptr< NETCLASS > | GetEffectiveNetClass (const SCH_SHEET_PATH *aSheet=nullptr) const |
FIELDS_AUTOPLACED | GetFieldsAutoplaced () const |
Return whether the fields have been automatically placed. More... | |
void | SetFieldsAutoplaced () |
void | ClearFieldsAutoplaced () |
void | AutoAutoplaceFields (SCH_SCREEN *aScreen) |
Autoplace fields only if correct to do so automatically. More... | |
virtual void | AutoplaceFields (SCH_SCREEN *aScreen, bool aManual) |
virtual void | RunOnChildren (const std::function< void(SCH_ITEM *)> &aFunction) |
virtual void | ClearCaches () |
virtual bool | operator< (const SCH_ITEM &aItem) const |
bool | operator< (const EDA_ITEM &aItem) const |
Test if another item is less than this object. More... | |
KICAD_T | Type () const |
Returns the type of object. More... | |
EDA_ITEM * | GetParent () const |
virtual void | SetParent (EDA_ITEM *aParent) |
bool | IsModified () const |
bool | IsNew () const |
bool | IsMoving () const |
bool | IsSelected () const |
bool | IsEntered () const |
bool | IsBrightened () const |
bool | IsRollover () const |
void | SetSelected () |
void | SetBrightened () |
void | ClearSelected () |
void | ClearBrightened () |
void | SetModified () |
int | GetState (EDA_ITEM_FLAGS type) const |
void | SetState (EDA_ITEM_FLAGS type, bool state) |
EDA_ITEM_FLAGS | GetStatus () const |
void | SetStatus (EDA_ITEM_FLAGS aStatus) |
void | SetFlags (EDA_ITEM_FLAGS aMask) |
void | XorFlags (EDA_ITEM_FLAGS aMask) |
void | ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS) |
EDA_ITEM_FLAGS | GetFlags () const |
bool | HasFlag (EDA_ITEM_FLAGS aFlag) const |
EDA_ITEM_FLAGS | GetEditFlags () const |
void | ClearTempFlags () |
void | ClearEditFlags () |
void | SetIsShownAsBitmap (bool aBitmap) |
bool | IsShownAsBitmap () const |
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 wxString | GetFriendlyName () const |
virtual const VECTOR2I | GetFocusPosition () const |
Similar to GetPosition, but allows items to return their visual center rather than their anchor. More... | |
virtual VECTOR2I | GetSortPosition () const |
Return the coordinates that should be used for sorting this element visually compared to other elements. More... | |
virtual INSPECT_RESULT | Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes) |
May be re-implemented for each derived class in order to handle all the types given by its member data. More... | |
wxString | GetTypeDesc () const |
Return a translated description of the type for this EDA_ITEM for display in user facing messages. More... | |
virtual bool | Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const |
Compare the item against the search criteria in aSearchData. More... | |
virtual bool | Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr) |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
virtual bool | IsReplaceable () const |
Override this method in any derived object that supports test find and replace. More... | |
virtual const BOX2I | ViewBBox () const override |
Return the bounding box of the item covering all its layers. More... | |
virtual void | ViewDraw (int aLayer, VIEW *aView) const |
Draw the parts of the object belonging to layer aLayer. More... | |
virtual double | ViewGetLOD (int aLayer, VIEW *aView) const |
Return the level of detail (LOD) of the item. More... | |
VIEW_ITEM_DATA * | viewPrivData () const |
void | ClearViewPrivData () |
bool | Set (PROPERTY_BASE *aProperty, wxAny &aValue) |
template<typename T > | |
bool | Set (PROPERTY_BASE *aProperty, T aValue) |
template<typename T > | |
bool | Set (const wxString &aProperty, T aValue) |
wxAny | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
T | Get (PROPERTY_BASE *aProperty) const |
template<typename T > | |
std::optional< T > | Get (const wxString &aProperty) const |
void | SwapShape (EDA_SHAPE *aImage) |
wxString | ShowShape () const |
wxString | SHAPE_T_asString () const |
bool | IsAnnotationProxy () const |
void | SetIsAnnotationProxy (bool aIsProxy=true) |
bool | IsFilled () const |
void | SetFilled (bool aFlag) |
void | SetFillMode (FILL_T aFill) |
FILL_T | GetFillMode () const |
bool | IsClosed () const |
COLOR4D | GetFillColor () const |
void | SetFillColor (const COLOR4D &aColor) |
void | SetWidth (int aWidth) |
int | GetWidth () const |
void | SetShape (SHAPE_T aShape) |
SHAPE_T | GetShape () const |
wxString | GetFriendlyName () const |
const VECTOR2I & | GetStart () const |
Return the starting point of the graphic. More... | |
int | GetStartY () const |
int | GetStartX () const |
void | SetStart (const VECTOR2I &aStart) |
void | SetStartY (int y) |
void | SetStartX (int x) |
const VECTOR2I & | GetEnd () const |
Return the ending point of the graphic. More... | |
int | GetEndY () const |
int | GetEndX () const |
void | SetEnd (const VECTOR2I &aEnd) |
void | SetEndY (int y) |
void | SetEndX (int x) |
virtual VECTOR2I | GetTopLeft () const |
virtual VECTOR2I | GetBotRight () const |
virtual void | SetTop (int val) |
virtual void | SetLeft (int val) |
virtual void | SetRight (int val) |
virtual void | SetBottom (int val) |
void | SetBezierC1 (const VECTOR2I &aPt) |
const VECTOR2I & | GetBezierC1 () const |
void | SetBezierC2 (const VECTOR2I &aPt) |
const VECTOR2I & | GetBezierC2 () const |
VECTOR2I | getCenter () const |
void | SetCenter (const VECTOR2I &aCenter) |
void | SetArcAngleAndEnd (const EDA_ANGLE &aAngle, bool aCheckNegativeAngle=false) |
Set the end point from the angle center and start. More... | |
EDA_ANGLE | GetArcAngle () const |
bool | EndsSwapped () const |
Have the start and end points been swapped since they were set? More... | |
VECTOR2I | GetArcMid () const |
std::vector< VECTOR2I > | GetRectCorners () const |
void | CalcArcAngles (EDA_ANGLE &aStartAngle, EDA_ANGLE &aEndAngle) const |
Calc arc start and end angles such that aStartAngle < aEndAngle. More... | |
int | GetRadius () const |
void | SetArcGeometry (const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd) |
Set the three controlling points for an arc. More... | |
void | SetCachedArcData (const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCenter) |
Set the data used for mid point caching. More... | |
const std::vector< VECTOR2I > & | GetBezierPoints () const |
void | DupPolyPointsList (std::vector< VECTOR2I > &aBuffer) const |
Duplicate the list of corners in a std::vector<VECTOR2I> 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 | SetPolyPoints (const std::vector< VECTOR2I > &aPoints) |
void | RebuildBezierToSegmentsPointsList (int aMinSegLen) |
Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments. More... | |
virtual std::vector< SHAPE * > | MakeEffectiveShapes (bool aEdgeOnly=false) const |
Make a set of SHAPE objects representing the EDA_SHAPE. More... | |
void | ShapeGetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) |
double | GetLength () const |
Return the length of the track using the hypotenuse calculation. More... | |
void | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, int aClearance, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false) const |
Convert the shape to a closed polygon. More... | |
int | Compare (const EDA_SHAPE *aOther) const |
Static Public Member Functions | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
This changes first parameter to avoid the DList and use the main queue instead. More... | |
template<class T > | |
static INSPECT_RESULT | IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes) |
Change first parameter to avoid the DList and use std::vector instead. More... | |
static bool | Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText) |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More... | |
static bool | Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight) |
Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More... | |
Public Attributes | |
const KIID | m_Uuid |
Protected Member Functions | |
bool | Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const |
Compare aText against search criteria in aSearchData. More... | |
void | setPosition (const VECTOR2I &aPos) |
VECTOR2I | getPosition () const |
void | move (const VECTOR2I &aMoveVector) |
void | rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) |
void | flip (const VECTOR2I &aCentre, bool aFlipLeftRight) |
void | scale (double aScale) |
const BOX2I | getBoundingBox () const |
void | computeArcBBox (BOX2I &aBBox) const |
bool | hitTest (const VECTOR2I &aPosition, int aAccuracy=0) const |
bool | hitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const |
const std::vector< VECTOR2I > | buildBezierToSegmentsPointsList (int aMinSegLen) const |
void | beginEdit (const VECTOR2I &aStartPoint) |
bool | continueEdit (const VECTOR2I &aPosition) |
void | calcEdit (const VECTOR2I &aPosition) |
void | endEdit (bool aClosed=true) |
Finishes editing the shape. More... | |
void | setEditState (int aState) |
std::vector< SHAPE * > | makeEffectiveShapes (bool aEdgeOnly, bool aLineChainOnly=false) const |
Make a set of SHAPE objects representing the EDA_SHAPE. More... | |
Protected Attributes | |
SCH_LAYER_ID | m_layer |
EDA_ITEMS | m_connections |
FIELDS_AUTOPLACED | m_fieldsAutoplaced |
VECTOR2I | m_storedPos |
std::map< SCH_SHEET_PATH, SCH_ITEM_SET, SHEET_PATH_CMP > | m_connected_items |
Store pointers to other items that are connected to this one, per sheet. More... | |
std::unordered_map< SCH_SHEET_PATH, SCH_CONNECTION * > | m_connection_map |
Store connectivity information, per sheet. More... | |
bool | m_connectivity_dirty |
EDA_ITEM_FLAGS | m_status |
EDA_ITEM * | m_parent |
Linked list: Link (parent struct) More... | |
bool | m_forceVisible |
EDA_ITEM_FLAGS | m_flags |
bool | m_endsSwapped |
SHAPE_T | m_shape |
STROKE_PARAMS | m_stroke |
FILL_T | m_fill |
COLOR4D | m_fillColor |
VECTOR2I | m_start |
VECTOR2I | m_end |
VECTOR2I | m_arcCenter |
ARC_MID | m_arcMidData |
VECTOR2I | m_bezierC1 |
VECTOR2I | m_bezierC2 |
std::vector< VECTOR2I > | m_bezierPoints |
SHAPE_POLY_SET | m_poly |
int | m_editState |
bool | m_annotationProxy |
Private Member Functions | |
void | Print (const RENDER_SETTINGS *aSettings, const VECTOR2I &aOffset) override |
Print a schematic item. More... | |
void | PrintBackground (const RENDER_SETTINGS *aSettings, const VECTOR2I &aOffset) override |
Print the (optional) backaground elements if they exist. More... | |
EDA_ANGLE | getParentOrientation () const override |
VECTOR2I | getParentPosition () const override |
virtual bool | doIsConnected (const VECTOR2I &aPosition) const |
Provide the object specific test to see if it is connected to aPosition. More... | |
Private Attributes | |
KICAD_T | m_structType |
Run time identification, keep private so it can never be changed after a ctor sets it. More... | |
VIEW_ITEM_DATA * | m_viewPrivData |
Definition at line 32 of file sch_shape.h.
SCH_SHAPE::SCH_SHAPE | ( | SHAPE_T | aShape, |
int | aLineWidth = 0 , |
||
FILL_T | aFillType = FILL_T::NO_FILL , |
||
KICAD_T | aType = SCH_SHAPE_T |
||
) |
Definition at line 38 of file sch_shape.cpp.
References LAYER_NOTES, and SCH_ITEM::SetLayer().
Referenced by Clone().
|
inline |
Definition at line 40 of file sch_shape.h.
|
inherited |
Add a connection link between this item and another.
Definition at line 193 of file sch_item.cpp.
References SCH_ITEM::m_connected_items.
Referenced by SCH_LABEL_BASE::UpdateDanglingState(), and CONNECTION_GRAPH::updateItemConnectivity().
void SCH_SHAPE::AddPoint | ( | const VECTOR2I & | aPosition | ) |
Definition at line 460 of file sch_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), EDA_SHAPE::GetShape(), SHAPE_POLY_SET::IsEmpty(), EDA_SHAPE::m_poly, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), POLY, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by SCH_EAGLE_PLUGIN::loadFrame(), SCH_ALTIUM_PLUGIN::ParsePolygon(), SCH_ALTIUM_PLUGIN::ParsePolyline(), and SCH_ALTIUM_PLUGIN::ParseSignalHarness().
|
inlineinherited |
Autoplace fields only if correct to do so automatically.
Fields that have been moved by hand are not automatically placed.
aScreen | is the SCH_SCREEN associated with the current instance of the symbol. |
Definition at line 436 of file sch_item.h.
References SCH_ITEM::AutoplaceFields(), FIELDS_AUTOPLACED_MANUAL, and SCH_ITEM::GetFieldsAutoplaced().
Referenced by SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SCH_SHEET::SCH_SHEET(), SCH_EDIT_FRAME::SelectUnit(), and DIALOG_LABEL_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Reimplemented in SCH_LABEL_BASE, SCH_DIRECTIVE_LABEL, SCH_SHEET, and SCH_SYMBOL.
Definition at line 442 of file sch_item.h.
Referenced by SCH_ITEM::AutoAutoplaceFields(), SCH_EDIT_TOOL::ChangeTextType(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
inline |
Definition at line 82 of file sch_shape.h.
References EDA_SHAPE::beginEdit().
Referenced by SCH_DRAWING_TOOLS::DrawShape().
|
protectedinherited |
Definition at line 1265 of file eda_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), ARC, CIRCLE, EDA_SHAPE::GetShape(), EDA_SHAPE::m_editState, EDA_SHAPE::m_poly, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, EDA_SHAPE::SetArcGeometry(), SHAPE_LINE_CHAIN::SetClosed(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by BeginEdit(), and LIB_SHAPE::BeginEdit().
|
protectedinherited |
Definition at line 431 of file eda_shape.cpp.
References BEZIER_POLY::GetPoly(), EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_end, and EDA_SHAPE::m_start.
Referenced by EDA_SHAPE::makeEffectiveShapes(), and EDA_SHAPE::RebuildBezierToSegmentsPointsList().
Calc arc start and end angles such that aStartAngle < aEndAngle.
Each may be between -360.0 and 360.0.
Definition at line 502 of file eda_shape.cpp.
References ANGLE_0, ANGLE_360, EDA_SHAPE::getCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), and EDA_ANGLE::Normalize().
Referenced by EDA_SHAPE::computeArcBBox(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), EDA_SHAPE::GetArcAngle(), EDA_SHAPE::hitTest(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), and SCH_LEGACY_PLUGIN_CACHE::saveArc().
|
inline |
Definition at line 84 of file sch_shape.h.
References EDA_SHAPE::calcEdit().
Referenced by SCH_DRAWING_TOOLS::DrawShape(), and EE_POINT_EDITOR::updateParentItem().
|
protectedinherited |
Definition at line 1323 of file eda_shape.cpp.
References ANGLE_180, ARC, CIRCLE, EDA_SHAPE::GetArcAngle(), EDA_SHAPE::GetEnd(), GetLineLength(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), KiROUND(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_editState, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_start, SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, EDA_SHAPE::SetArcGeometry(), EDA_SHAPE::SetEnd(), SHAPE_LINE_CHAIN::SetPoint(), EDA_SHAPE::SHAPE_T_asString(), sq, UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CalcEdit(), and LIB_SHAPE::CalcEdit().
|
inlinevirtualinherited |
Reimplemented in SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_NO_CONNECT, SCH_SHEET, and SCH_SYMBOL.
Definition at line 344 of file sch_item.h.
References SCH_ITEM::GetLayer(), and SCH_ITEM::m_layer.
Referenced by SCH_MOVE_TOOL::getConnectedDragItems().
|
inlineinherited |
Definition at line 119 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::ClearFlags().
Referenced by SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
virtualinherited |
Reimplemented in SCH_FIELD.
Definition at line 251 of file sch_item.cpp.
References SCH_ITEM::RunOnChildren(), and text.
|
inlineinherited |
Clears all of the connection items from the list.
The vector release method is used to prevent the item pointers from being deleted. Do not use the vector erase method on the connection list.
Definition at line 372 of file sch_item.h.
References SCH_ITEM::m_connections.
|
inlineinherited |
Definition at line 158 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and EDA_ITEM::GetEditFlags().
Referenced by BOARD::Add(), FOOTPRINT::Add(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::saveCopyInUndoList(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inlineinherited |
Definition at line 427 of file sch_item.h.
References FIELDS_AUTOPLACED_NO, and SCH_ITEM::m_fieldsAutoplaced.
Referenced by BOOST_AUTO_TEST_CASE(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), SCH_LABEL_BASE::SCH_LABEL_BASE(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SCH_FIELD_PROPERTIES::UpdateField().
|
inlineinherited |
Definition at line 141 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), SCH_EDIT_FRAME::ConvertPart(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDIT_FRAME::RollbackSymbolFromUndo(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_SEXPR_PLUGIN_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), SCH_EDIT_FRAME::SelectUnit(), EDA_ITEM::SetIsShownAsBitmap(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and EE_SELECTION_TOOL::unhighlight().
|
inlineinherited |
Definition at line 118 of file eda_item.h.
References EDA_ITEM::ClearFlags(), and SELECTED.
Referenced by PCB_POINT_EDITOR::addCorner(), EDIT_TOOL::Duplicate(), ARRAY_CREATOR::Invoke(), LIB_SYMBOL::LIB_SYMBOL(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlightInternal(), and GERBVIEW_SELECTION_TOOL::unselectVisually().
|
inlineinherited |
Definition at line 153 of file eda_item.h.
References CANDIDATE, EDA_ITEM::ClearFlags(), IS_LINKED, SELECTED_BY_DRAG, and SKIP_STRUCT.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles(), and SCH_EDIT_FRAME::PutDataInPreviousState().
|
inlineinherited |
Definition at line 143 of file view_item.h.
References KIGFX::VIEW_ITEM::m_viewPrivData.
Referenced by KIGFX::VIEW::OnDestroy().
|
overridevirtual |
Create a duplicate of this item with linked list members set to NULL.
The default version will return NULL in release builds and likely crash the program. In debug builds, a warning message indicating the derived class has not implemented cloning. This really should be a pure virtual function. Due to the fact that there are so many objects derived from EDA_ITEM, the decision was made to return NULL until all the objects derived from EDA_ITEM implement cloning. Once that happens, this function should be made pure.
Reimplemented from EDA_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 46 of file sch_shape.cpp.
References SCH_SHAPE().
Referenced by SCH_DRAWING_TOOLS::DrawShape().
|
inherited |
Definition at line 1508 of file eda_shape.cpp.
References ARC, BEZIER, SHAPE_POLY_SET::CVertex(), STROKE_PARAMS::GetPlotStyle(), STROKE_PARAMS::GetWidth(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_fill, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, EDA_SHAPE::m_stroke, POLY, TEST, TEST_E, TEST_PT, and SHAPE_POLY_SET::TotalVertices().
Referenced by LIB_SHAPE::compare(), LIB_TEXTBOX::compare(), and BOARD::cmp_drawings::operator()().
|
protectedinherited |
Definition at line 1071 of file eda_shape.cpp.
References ANGLE_0, ANGLE_180, ANGLE_270, ANGLE_90, EDA_SHAPE::CalcArcAngles(), EDA_SHAPE::GetRadius(), EDA_SHAPE::IsFilled(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_end, EDA_SHAPE::m_start, BOX2< Vec >::Merge(), EDA_ANGLE::Normalize(), BOX2< Vec >::SetOrigin(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDA_SHAPE::getBoundingBox().
|
inherited |
Retrieve the set of items connected to this item on the given sheet.
Definition at line 187 of file sch_item.cpp.
References SCH_ITEM::m_connected_items.
Referenced by addConnections(), SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_LINE::FindWireSegmentNetNameRecursive(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inherited |
Retrieve the connection associated with this object in the given sheet.
Definition at line 146 of file sch_item.cpp.
References SCHEMATIC::CurrentSheet(), SCH_ITEM::IsConnectable(), SCH_ITEM::IsConnectivityDirty(), SCH_ITEM::m_connection_map, and SCH_ITEM::Schematic().
Referenced by CONNECTION_SUBGRAPH::Absorb(), CONNECTION_SUBGRAPH::AddItem(), CONNECTION_GRAPH::buildConnectionGraph(), KIGFX::SCH_PAINTER::draw(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::GetBusesNeedingMigration(), SCH_ITEM::GetEffectiveNetClass(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), CONNECTION_SUBGRAPH::GetNetName(), SCH_ITEM::GetOrInitConnection(), highlightNet(), SCH_ITEM::InitializeConnection(), SCH_LABEL_BASE::Plot(), SCH_LINE::Plot(), SCH_TEXT::Plot(), SCH_LABEL_BASE::Print(), NETLIST_EXPORTER_SPICE_MODEL::readPorts(), SCH_EDIT_FRAME::RecalculateConnections(), SCH_LABEL_BASE::ResolveTextVar(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), BUS_UNFOLD_MENU::update(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inlinevirtualinherited |
Return true if this item should propagate connection info to aItem.
Reimplemented in SCH_BUS_WIRE_ENTRY, SCH_LINE, and SCH_PIN.
Definition at line 411 of file sch_item.h.
|
inline |
Definition at line 83 of file sch_shape.h.
References EDA_SHAPE::continueEdit().
Referenced by SCH_DRAWING_TOOLS::DrawShape().
|
protectedinherited |
Definition at line 1296 of file eda_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), ARC, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetShape(), EDA_SHAPE::m_poly, SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by ContinueEdit(), and LIB_SHAPE::ContinueEdit().
|
inlinevirtualinherited |
Reimplemented in SCH_FIELD, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 241 of file sch_item.h.
|
inlineprivatevirtualinherited |
Provide the object specific test to see if it is connected to aPosition.
aPosition | is a reference to a VECTOR2I object containing the test position. |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_JUNCTION, SCH_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_NO_CONNECT, SCH_SHEET, and SCH_SYMBOL.
Definition at line 488 of file sch_item.h.
Referenced by SCH_ITEM::IsConnected().
|
inherited |
Routine to create a new copy of given item.
The new object is not put in draw list (not linked).
doClone | (default = false) indicates unique values (such as timestamp and sheet name) should be duplicated. Use only for undo/redo operations. |
Definition at line 93 of file sch_item.cpp.
References BRIGHTENED, EDA_ITEM::ClearFlags(), EDA_ITEM::Clone(), EDA_ITEM::m_Uuid, SCH_ITEM::RunOnChildren(), and SELECTED.
Referenced by SCH_LINE::BreakAt(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), CADSTAR_SCH_ARCHIVE_LOADER::loadItemOntoKiCadSheet(), SCH_EAGLE_PLUGIN::loadSchematic(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_FRAME::SaveCopyInUndoList(), and SCH_LINE_WIRE_BUS_TOOL::startSegments().
|
inherited |
Duplicate the list of corners in a std::vector<VECTOR2I>
It must be used only to convert the SHAPE_POLY_SET internal corner buffer to a list of VECTOR2Is, and nothing else, because it duplicates the buffer, that is inefficient to know for instance the corner count
Definition at line 1225 of file eda_shape.cpp.
References SHAPE_POLY_SET::CIterate(), SHAPE_POLY_SET::COutline(), EDA_SHAPE::m_poly, SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by BRDITEMS_PLOTTER::PlotFootprintShape(), EDA_SHAPE::TransformShapeToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 85 of file sch_shape.h.
References EDA_SHAPE::endEdit().
Referenced by SCH_DRAWING_TOOLS::DrawShape().
|
protectedinherited |
Finishes editing the shape.
aClosed | Should polygon shapes be closed (yes for pcbnew/fpeditor, no for libedit) |
Definition at line 1453 of file eda_shape.cpp.
References ARC, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetShape(), EDA_SHAPE::m_poly, SHAPE_POLY_SET::Outline(), POLY, RECT, SHAPE_LINE_CHAIN::Remove(), SEGMENT, SHAPE_LINE_CHAIN::SetClosed(), EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by EndEdit(), and LIB_SHAPE::EndEdit().
|
inlineinherited |
Have the start and end points been swapped since they were set?
Definition at line 195 of file eda_shape.h.
References EDA_SHAPE::m_endsSwapped.
Referenced by BOOST_AUTO_TEST_CASE(), and CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes().
|
protectedinherited |
Definition at line 320 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, BEZIER_POLY::GetPoly(), STROKE_PARAMS::GetWidth(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, EDA_SHAPE::m_stroke, SHAPE_POLY_SET::Mirror(), POLY, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_SHAPE::Flip(), LIB_SHAPE::MirrorHorizontal(), MirrorHorizontally(), LIB_SHAPE::MirrorVertical(), and MirrorVertically().
|
inlineinherited |
Definition at line 104 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 84 of file inspectable.h.
References PROPERTY_BASE::getter(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by BOOST_AUTO_TEST_CASE(), CLASS_D_DESC::CLASS_D_DESC(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PROPERTIES_PANEL::getItemValue(), PCB_EXPR_VAR_REF::GetValue(), and PAD_DESC::PAD_DESC().
|
inlineinherited |
Definition at line 92 of file inspectable.h.
References PROPERTY_BASE::get(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inherited |
Definition at line 585 of file eda_shape.cpp.
References EDA_SHAPE::CalcArcAngles().
Referenced by BOARD_ADAPTER::addShape(), EDA_SHAPE::calcEdit(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ConvertOutlineToPolygon(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FootprintWriteShape(), EDA_SHAPE::GetArcMid(), FP_SHAPE::GetArcMid0(), EDA_SHAPE::GetLength(), CADSTAR_PCB_ARCHIVE_LOADER::getLineChainFromShapes(), idf_export_outline(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), EDA_SHAPE::makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), EDA_SHAPE::ShapeGetMsgPanelInfo(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), and DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow().
|
inherited |
Definition at line 488 of file eda_shape.cpp.
References ARC_MID::center, ARC_MID::end, EDA_SHAPE::GetArcAngle(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_arcMidData, EDA_SHAPE::m_end, EDA_SHAPE::m_start, ARC_MID::mid, RotatePoint(), and ARC_MID::start.
Referenced by KI_TEST::CheckFpShape(), PCB_POINT_EDITOR::editArcMidKeepEndpoints(), PCB_PLUGIN::format(), formatArc(), PCB_SHAPE::GetFocusPosition(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), EDA_SHAPE::SetArcGeometry(), EDA_SHAPE::TransformShapeToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 176 of file eda_shape.h.
References EDA_SHAPE::m_bezierC1.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KI_TEST::CheckFpShape(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), formatBezier(), EDA_SHAPE::getBoundingBox(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), EDA_SHAPE::TransformShapeToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 179 of file eda_shape.h.
References EDA_SHAPE::m_bezierC2.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KI_TEST::CheckFpShape(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), formatBezier(), EDA_SHAPE::getBoundingBox(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), EDA_SHAPE::TransformShapeToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 230 of file eda_shape.h.
References EDA_SHAPE::m_bezierPoints.
Referenced by ConvertOutlineToPolygon(), GRAPHICS_CLEANER::isNullShape(), and CONVERT_TOOL::makePolysFromChainedSegs().
|
inlinevirtualinherited |
Reimplemented in FP_TEXTBOX, and PCB_TEXTBOX.
Definition at line 168 of file eda_shape.h.
References EDA_SHAPE::GetEnd().
Referenced by KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::makePoints(), and PCB_POINT_EDITOR::updatePoints().
|
protectedinherited |
Definition at line 684 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_POLY_SET::CIterate(), EDA_SHAPE::computeArcBBox(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetEnd(), EDA_SHAPE::getParentOrientation(), EDA_SHAPE::getParentPosition(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetStart(), EDA_SHAPE::GetWidth(), BOX2< Vec >::Inflate(), SHAPE_POLY_SET::IsEmpty(), EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, BOX2< Vec >::Merge(), BOX2< Vec >::Normalize(), POLY, RECT, RotatePoint(), SEGMENT, BOX2< Vec >::SetEnd(), BOX2< Vec >::SetOrigin(), EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::GetBoundingBox(), GetBoundingBox(), PCB_SHAPE::GetBoundingBox(), EDA_SHAPE::getCenter(), and EDA_SHAPE::hitTest().
|
inlineoverridevirtual |
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 75 of file sch_shape.h.
References EDA_SHAPE::getBoundingBox().
Referenced by SCH_EDIT_TOOL::ChangeTextType(), SCH_TEXTBOX::HitTest(), and SCH_TEXTBOX::Plot().
|
inline |
Definition at line 80 of file sch_shape.h.
References EDA_SHAPE::getCenter().
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_EDITOR_CONTROL::Paste().
|
inherited |
Definition at line 444 of file eda_shape.cpp.
References ARC, BEZIER, BOX2< Vec >::Centre(), CIRCLE, EDA_SHAPE::getBoundingBox(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_end, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, POLY, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by EDA_SHAPE::CalcArcAngles(), LIB_SHAPE::GetCenter(), GetCenter(), PCB_SHAPE::GetCenter(), EDA_SHAPE::getPosition(), EDA_SHAPE::hitTest(), EDA_SHAPE::makeEffectiveShapes(), Plot(), LIB_SHAPE::Plot(), Print(), LIB_SHAPE::print(), PrintBackground(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickArc(), and EDA_SHAPE::TransformShapeToPolygon().
|
inlineoverridevirtual |
Return the class name.
Reimplemented from SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 42 of file sch_shape.h.
|
inlinevirtualinherited |
Add all the connection points for this item to aPoints.
Not all schematic items have connection points so the default method does nothing.
aPoints | is the list of connection points to add to. |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_NO_CONNECT, SCH_SHEET, and SCH_SYMBOL.
Definition at line 364 of file sch_item.h.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_MOVE_TOOL::AlignElements(), EE_GRID_HELPER::computeAnchors(), SCH_EDIT_TOOL::DoDelete(), SCH_SCREEN::GetNeededJunctions(), SCH_MOVE_TOOL::Main(), SCH_EDITOR_CONTROL::Paste(), and SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires().
|
inherited |
Definition at line 286 of file sch_item.cpp.
References EESCHEMA_SETTINGS::APPEARANCE::default_font, EESCHEMA_SETTINGS::m_Appearance, and Pgm().
Referenced by SCH_FIELD::getDrawFont(), SCH_TEXT::getDrawFont(), SCH_TEXTBOX::getDrawFont(), SCH_FIELD::GetRenderCache(), and SCH_TEXTBOX::GetShownText().
|
inlineinherited |
Definition at line 145 of file eda_item.h.
References IS_BROKEN, IS_CHANGED, IS_MOVING, IS_NEW, IS_PASTED, EDA_ITEM::m_flags, and STRUCT_DELETED.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), EDA_ITEM::ClearEditFlags(), SCH_EDIT_FRAME::DeleteJunction(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_SYMBOL::GetMsgPanelInfo(), SELECTION_CONDITIONS::Idle(), SELECTION_CONDITIONS::IdleSelection(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), and DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow().
|
inline |
Definition at line 67 of file sch_shape.h.
References DEFAULT, STROKE_PARAMS::GetPlotStyle(), EDA_SHAPE::m_stroke, and SOLID.
Referenced by KIGFX::SCH_PAINTER::draw(), Plot(), and Print().
|
inherited |
Definition at line 166 of file sch_item.cpp.
References SCH_ITEM::Connection(), PROJECT::GetProjectFile(), PROJECT_FILE::m_NetSettings, SCH_CONNECTION::Name(), SCHEMATIC::Prj(), and SCH_ITEM::Schematic().
Referenced by SCH_BUS_ENTRY_BASE::GetBusEntryColor(), SCH_LINE::GetEffectiveLineStyle(), SCH_JUNCTION::getEffectiveShape(), SCH_FIELD::GetFieldColor(), SCH_JUNCTION::GetJunctionColor(), SCH_LABEL_BASE::GetLabelColor(), SCH_LINE::GetLineColor(), SCH_BUS_ENTRY_BASE::GetLineStyle(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCH_BUS_WIRE_ENTRY::GetPenWidth(), SCH_BUS_BUS_ENTRY::GetPenWidth(), SCH_LINE::GetPenWidth(), SCH_LABEL_BASE::Plot(), SCH_LINE::Plot(), and SCH_LABEL_BASE::ResolveTextVar().
|
inlineoverridevirtual |
|
inlineinherited |
Return the ending point of the graphic.
Definition at line 145 of file eda_shape.h.
References EDA_SHAPE::m_end.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), EDA_SHAPE::CalcArcAngles(), EDA_SHAPE::calcEdit(), KI_TEST::CheckFpShape(), ConvertOutlineToPolygon(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawLine(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_PLUGIN::format(), formatArc(), formatBezier(), formatRect(), EDA_SHAPE::GetBotRight(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), EDA_SHAPE::getBoundingBox(), EDA_SHAPE::GetLength(), LIB_TEXTBOX::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), EDA_SHAPE::GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), LIB_TEXTBOX::GetShownText(), SCH_TEXTBOX::GetShownText(), CONVERT_TOOL::getStartEndPoints(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), hash_fp_item(), EDA_SHAPE::hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_EAGLE_PLUGIN::loadSymbolRectangle(), EDIT_POINTS_FACTORY::Make(), EDA_SHAPE::makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), GRAPHICS_CLEANER::mergeRects(), LIB_SHAPE::Normalize(), Normalize(), PCB_SHAPE::NormalizeRect(), PCB_PARSER::parsePAD(), SCH_EDITOR_CONTROL::Paste(), Plot(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), Print(), SCH_TEXTBOX::Print(), PrintBackground(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), SCH_LEGACY_PLUGIN_CACHE::saveRectangle(), SCH_SEXPR_PLUGIN_CACHE::saveTextBox(), SCH_SEXPR_PLUGIN::saveTextBox(), EDA_SHAPE::ShapeGetMsgPanelInfo(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickArc(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), EDA_SHAPE::TransformShapeToPolygon(), EE_POINT_EDITOR::updatePoints(), and PCB_POINT_EDITOR::updatePoints().
|
inlinevirtualinherited |
Add the schematic item end points to aItemList if the item has end points.
The default version doesn't do anything since many of the schematic object cannot be tested for dangling ends. If you add a new schematic item that can have a dangling end ( no connect ), override this method to provide the correct end points.
aItemList | is the list of DANGLING_END_ITEMS to add to. |
Reimplemented in SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_NO_CONNECT, SCH_SHEET, SCH_SHEET_PIN, and SCH_SYMBOL.
Definition at line 318 of file sch_item.h.
Referenced by PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems().
|
inlineinherited |
Definition at line 147 of file eda_shape.h.
References EDA_SHAPE::m_end, and VECTOR2< T >::x.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 146 of file eda_shape.h.
References EDA_SHAPE::m_end, and VECTOR2< T >::y.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Return whether the fields have been automatically placed.
Definition at line 424 of file sch_item.h.
References SCH_ITEM::m_fieldsAutoplaced.
Referenced by SCH_ITEM::AutoAutoplaceFields(), SCH_SEXPR_PLUGIN::saveSheet(), SCH_SEXPR_PLUGIN::saveSymbol(), and SCH_SEXPR_PLUGIN::saveText().
|
inlineinherited |
Definition at line 105 of file eda_shape.h.
References EDA_SHAPE::m_fillColor.
Referenced by SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), KIGFX::SCH_PAINTER::getRenderColor(), Plot(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), LIB_TEXTBOX::print(), SCH_TEXTBOX::Print(), PrintBackground(), SCH_SEXPR_PLUGIN::saveShape(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), SCH_SEXPR_PLUGIN_CACHE::saveTextBox(), SCH_SEXPR_PLUGIN::saveTextBox(), KIGFX::SCH_PAINTER::setDeviceColors(), DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_LIB_TEXTBOX_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), and DIALOG_TEXT_PROPERTIES::TransferDataToWindow().
|
inlineinherited |
Definition at line 101 of file eda_shape.h.
References EDA_SHAPE::m_fill.
Referenced by KI_TEST::CheckFpShape(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), EDA_SHAPE::IsFilled(), CONVERT_TOOL::makePolysFromClosedGraphics(), LIB_SYMBOL::Print(), LIB_SHAPE::print(), LIB_TEXTBOX::print(), SCH_TEXTBOX::Print(), PrintBackground(), LIB_SYMBOL::PrintBackground(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), SCH_LEGACY_PLUGIN_CACHE::saveCircle(), SCH_LEGACY_PLUGIN_CACHE::savePolyLine(), SCH_LEGACY_PLUGIN_CACHE::saveRectangle(), SCH_SEXPR_PLUGIN::saveShape(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), SCH_SEXPR_PLUGIN_CACHE::saveTextBox(), SCH_SEXPR_PLUGIN::saveTextBox(), KIGFX::SCH_PAINTER::setDeviceColors(), and DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow().
|
inlineinherited |
Definition at line 142 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by BACK_ANNOTATE::applyChangelist(), BuildBoardPolygonOutlines(), collidesWithArea(), ConvertOutlineToPolygon(), SCH_EDIT_FRAME::ConvertPart(), BOARD_COMMIT::dirtyIntersectingZones(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRC_ENGINE::EvalRules(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_INSPECTION_TOOL::makeDRCEngine(), CONVERT_TOOL::makePolysFromChainedSegs(), DIALOG_DRC::OnDRCItemSelected(), DIALOG_FOOTPRINT_CHECKER::OnSelectItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), LIB_SYMBOL::operator=(), BOARD_COMMIT::Push(), PAD_TOOL::RecombinePad(), BOARD::Remove(), FOOTPRINT::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SelectUnit(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_POLYGONS::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Similar to GetPosition, but allows items to return their visual center rather than their anchor.
Reimplemented in BOARD, PCB_SHAPE, and PCB_TRACK.
Definition at line 256 of file eda_item.h.
References EDA_ITEM::GetPosition().
Referenced by SCH_EDIT_FRAME::FocusOnItem().
|
virtualinherited |
Reimplemented in PCB_SHAPE, PCB_TRACK, and ZONE.
Definition at line 310 of file eda_item.cpp.
References EDA_ITEM::GetTypeDesc().
Referenced by PROPERTIES_PANEL::rebuildProperties().
|
inherited |
Definition at line 611 of file eda_shape.cpp.
References _, ARC, BEZIER, CIRCLE, EDA_SHAPE::IsAnnotationProxy(), EDA_SHAPE::m_shape, POLY, RECT, and SEGMENT.
Referenced by PCB_SHAPE::GetFriendlyName(), and EDA_SHAPE::ShapeGetMsgPanelInfo().
|
overridevirtual |
Return a user-visible description string of this item.
This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.
The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.
Reimplemented from EDA_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 402 of file sch_shape.cpp.
References _, std::abs(), ARC, BEZIER, CIRCLE, Format(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_start, UNITS_PROVIDER::MessageTextFromValue(), SHAPE_POLY_SET::Outline(), POLY, RECT, EDA_SHAPE::SHAPE_T_asString(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
|
inlineinherited |
Return the layer this item is on.
Definition at line 246 of file sch_item.h.
References SCH_ITEM::m_layer.
Referenced by SCH_ITEM::CanConnect(), SCH_BUS_WIRE_ENTRY::CanConnect(), SCH_BUS_BUS_ENTRY::CanConnect(), SCH_LABEL_BASE::CanConnect(), SCH_LINE::CanConnect(), SCH_NO_CONNECT::CanConnect(), SCH_SHEET::CanConnect(), SCH_SYMBOL::CanConnect(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), DIALOG_IMAGE_PROPERTIES::DIALOG_IMAGE_PROPERTIES(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_SCREEN::doIsJunction(), KIGFX::SCH_PAINTER::draw(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckFloatingWires(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCH_LINE::IsBus(), SCH_LINE::IsGraphicLine(), SCH_LINE::IsWire(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_BUS_ENTRY_BASE::operator<(), SCH_JUNCTION::operator<(), SCH_LINE::operator<(), SCH_TEXT::operator<(), SCH_TEXTBOX::operator<(), SCH_BITMAP::Plot(), SCH_FIELD::Plot(), SCH_JUNCTION::Plot(), SCH_LINE::Plot(), SCH_JUNCTION::Print(), SCH_LINE::Print(), SCH_LEGACY_PLUGIN::saveBusEntry(), SCH_LEGACY_PLUGIN::saveLine(), SCH_SEXPR_PLUGIN::saveLine(), SCH_LEGACY_PLUGIN::saveText(), SCH_EDIT_FRAME::TrimWire(), and CONNECTION_GRAPH::updateItemConnectivity().
|
inherited |
Return the length of the track using the hypotenuse calculation.
Definition at line 110 of file eda_shape.cpp.
References ARC, EDA_ANGLE::AsRadians(), BEZIER, SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CSegment(), EDA_SHAPE::GetArcAngle(), EDA_SHAPE::GetEnd(), GetLineLength(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetStart(), SEG::Length(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, POLY, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by DRAWING_TOOL::drawShape(), and EDA_SHAPE::ShapeGetMsgPanelInfo().
|
overridevirtual |
Return a pointer to an image to be used in menus.
The default version returns the right arrow image. Override this function to provide object specific menu images.
Reimplemented from EDA_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 434 of file sch_shape.cpp.
References add_arc, add_circle, add_graphical_segments, add_line, add_rectangle, ARC, CIRCLE, EDA_SHAPE::GetShape(), POLY, question_mark, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
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.
Reimplemented in SCH_TEXTBOX.
Definition at line 394 of file sch_shape.cpp.
References EDA_ITEM::GetMsgPanelInfo(), and EDA_SHAPE::ShapeGetMsgPanelInfo().
|
inherited |
Definition at line 228 of file sch_item.cpp.
References SCH_ITEM::Connection(), SCH_ITEM::InitializeConnection(), SCH_ITEM::IsConnectable(), and SCH_ITEM::SetConnectivityDirty().
|
inlineinherited |
Definition at line 99 of file eda_item.h.
References EDA_ITEM::m_parent.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_EDITOR_CONTROL::doCopy(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SCH_EDIT_TOOL::editFieldText(), SCH_FIELD::GetFieldColor(), getInferredSymbols(), SCH_PIN::GetParentSymbol(), EE_SELECTION_TOOL::highlight(), highlightNet(), SCH_FIELD::HitTest(), SCH_PIN::IsStacked(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), BOARD_COMMIT::parentObject(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_BASE_FRAME::RefreshZoomDependentItems(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_ITEM::Schematic(), SCH_SCREEN::Schematic(), SCH_SHEET::SearchHierarchy(), PCB_SELECTION_TOOL::select(), BOARD_COMMIT::Stage(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), EE_SELECTION_TOOL::unhighlight(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), EE_TOOL_BASE< T >::updateItem(), and SCH_BASE_FRAME::UpdateItem().
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
|
overridevirtual |
Reimplemented from SCH_ITEM.
Definition at line 226 of file sch_shape.cpp.
References DEFAULT_LINE_WIDTH_MILS, EDA_SHAPE::GetWidth(), STROKE_PARAMS::GetWidth(), SCHEMATIC_SETTINGS::m_DefaultLineWidth, EDA_SHAPE::m_stroke, EDA_IU_SCALE::MilsToIU(), SCH_ITEM::Schematic(), schIUScale, and SCHEMATIC::Settings().
Referenced by GetEffectiveWidth(), Plot(), SCH_TEXTBOX::Plot(), Print(), and SCH_TEXTBOX::Print().
|
inherited |
Definition at line 1254 of file eda_shape.cpp.
References EDA_SHAPE::GetPolyShape(), and SHAPE_POLY_SET::VertexCount().
Referenced by GRAPHICS_CLEANER::isNullShape(), SCH_SEXPR_PARSER::ParseSchematic(), and EE_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 247 of file eda_shape.h.
References EDA_SHAPE::m_poly.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), KI_TEST::CheckFpShape(), ConvertOutlineToPolygon(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), PCB_PLUGIN::format(), formatPoly(), PCB_SHAPE::GetCorners(), PCB_SHAPE::GetFocusPosition(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), EDA_SHAPE::GetPointCount(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), ALTIUM_PCB::HelperShapeSetLocalCoord(), EDA_SHAPE::IsPolyShapeValid(), SCH_EAGLE_PLUGIN::loadSymbolPolyLine(), EDIT_POINTS_FACTORY::Make(), EDA_SHAPE::makeEffectiveShapes(), PCB_POINT_EDITOR::makePoints(), FOOTPRINT::cmp_drawings::operator()(), EAGLE_PLUGIN::packagePolygon(), PCB_PARSER::parsePAD(), SCH_SEXPR_PARSER::ParseSchematic(), SCH_EDITOR_CONTROL::Paste(), BRDITEMS_PLOTTER::PlotPcbShape(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), EE_POINT_EDITOR::removeCornerCondition(), PCB_POINT_EDITOR::removeCornerCondition(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), SCH_LEGACY_PLUGIN_CACHE::savePolyLine(), EDA_SHAPE::ShapeGetMsgPanelInfo(), shapesNeedUpdate(), PCB_POINT_EDITOR::updateItem(), EE_POINT_EDITOR::updateParentItem(), and EE_POINT_EDITOR::updatePoints().
|
inlineinherited |
|
protectedinherited |
Definition at line 99 of file eda_shape.cpp.
References ARC, SHAPE_POLY_SET::CVertex(), EDA_SHAPE::getCenter(), EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, and POLY.
Referenced by LIB_SHAPE::GetPosition(), GetPosition(), PCB_SHAPE::GetPosition(), and EDA_SHAPE::setPosition().
|
inlineoverridevirtual |
Reimplemented from EDA_ITEM.
Definition at line 77 of file sch_shape.h.
References EDA_SHAPE::getPosition().
Referenced by KIGFX::SCH_PAINTER::draw(), EDIT_POINTS_FACTORY::Make(), Normalize(), SCH_TEXTBOX::operator<(), SCH_ALTIUM_PLUGIN::ParseArc(), SCH_ALTIUM_PLUGIN::ParseEllipse(), and EE_POINT_EDITOR::updatePoints().
|
inherited |
Definition at line 523 of file eda_shape.cpp.
References ARC, CIRCLE, GetLineLength(), KiROUND(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_end, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by BOARD_ADAPTER::addShape(), EDA_SHAPE::calcEdit(), EDA_SHAPE::computeArcBBox(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), formatCircle(), EDA_SHAPE::getBoundingBox(), PCB_SHAPE::GetFocusPosition(), LIB_SHAPE::GetItemDescription(), GetItemDescription(), EDA_SHAPE::GetLength(), hash_fp_item(), EDA_SHAPE::hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), EDA_SHAPE::makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), ALTIUM_PCB::Parse(), PCB_PARSER::parsePAD(), Plot(), LIB_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotPcbShape(), Print(), LIB_SHAPE::print(), PrintBackground(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveCircle(), EDA_SHAPE::scale(), EDA_SHAPE::ShapeGetMsgPanelInfo(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and EDA_SHAPE::TransformShapeToPolygon().
|
inherited |
Definition at line 1035 of file eda_shape.cpp.
References EDA_SHAPE::GetEnd(), EDA_SHAPE::getParentOrientation(), EDA_SHAPE::getParentPosition(), EDA_SHAPE::GetStart(), RotatePoint(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BOARD_ADAPTER::addShape(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE::getBoundingBox(), PCB_SHAPE::GetCorners(), EDA_SHAPE::hitTest(), EDA_SHAPE::makeEffectiveShapes(), SCH_EDITOR_CONTROL::Paste(), Plot(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), EDA_SHAPE::TransformShapeToPolygon(), FP_TEXTBOX::TransformShapeToPolygon(), and PCB_TEXTBOX::TransformShapeToPolygon().
|
inlineinherited |
Definition at line 113 of file eda_shape.h.
References EDA_SHAPE::m_shape.
Referenced by PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), LIB_SHAPE::AddPoint(), AddPoint(), BOARD_ADAPTER::addShape(), GRAPHICS_CLEANER::areEquivalent(), EDA_SHAPE::beginEdit(), EDA_SHAPE::calcEdit(), PCB_POINT_EDITOR::canAddCorner(), KI_TEST::CheckFpShape(), EDA_SHAPE::continueEdit(), ConvertOutlineToPolygon(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), EDA_SHAPE::endEdit(), PAD_TOOL::explodePad(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), FP_SHAPE::Flip(), FootprintWriteShape(), PCB_PLUGIN::format(), PCB_SHAPE::GetCorners(), FOOTPRINT::GetCoverageArea(), LIB_SHAPE::GetItemDescription(), GetItemDescription(), LIB_SHAPE::GetMenuImage(), GetMenuImage(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), CONVERT_TOOL::getStartEndPoints(), EE_SELECTION_TOOL::GuessSelectionCandidates(), hash_fp_item(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), EE_POINT_EDITOR::Main(), EDIT_POINTS_FACTORY::Make(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), GRAPHICS_CLEANER::mergeRects(), PCB_SHAPE::Mirror(), FP_SHAPE::Mirror(), FP_SHAPE::Move(), LIB_SHAPE::Normalize(), Normalize(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), ALTIUM_PCB::Parse(), SCH_EDITOR_CONTROL::Paste(), Plot(), LIB_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), Print(), LIB_SHAPE::print(), PrintBackground(), PAD_TOOL::RecombinePad(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), PCB_TEXTBOX::Rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), SCH_LEGACY_PLUGIN_CACHE::saveCircle(), SCH_LEGACY_PLUGIN_CACHE::savePolyLine(), SCH_LEGACY_PLUGIN_CACHE::saveRectangle(), SCH_SEXPR_PLUGIN::saveShape(), SCH_LEGACY_PLUGIN_CACHE::SaveSymbol(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), shapesNeedUpdate(), GERBER_PLOTTER::ThickArc(), 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(), EE_POINT_EDITOR::updateParentItem(), EE_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::Validate().
|
inlinevirtualinherited |
Return the coordinates that should be used for sorting this element visually compared to other elements.
For instance, for lines the midpoint might be a better sorting point than either end.
Reimplemented in SCH_LINE.
Definition at line 265 of file eda_item.h.
References EDA_ITEM::GetPosition().
|
inlineinherited |
Return the starting point of the graphic.
Definition at line 120 of file eda_shape.h.
References EDA_SHAPE::m_start.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), EDA_SHAPE::CalcArcAngles(), EDA_SHAPE::calcEdit(), KI_TEST::CheckFpShape(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ConvertOutlineToPolygon(), CreateBoardSection(), MICROWAVE_TOOL::createMicrowaveInductor(), KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_PLUGIN::format(), formatArc(), formatBezier(), formatCircle(), formatRect(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), EDA_SHAPE::getBoundingBox(), PCB_SHAPE::GetFocusPosition(), EDA_SHAPE::GetLength(), LIB_TEXTBOX::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), EDA_SHAPE::GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), LIB_TEXTBOX::GetShownText(), SCH_TEXTBOX::GetShownText(), CONVERT_TOOL::getStartEndPoints(), EDA_SHAPE::GetTopLeft(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), hash_fp_item(), EDA_SHAPE::hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), EDIT_POINTS_FACTORY::Make(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), GRAPHICS_CLEANER::mergeRects(), PCB_SHAPE::NormalizeRect(), PCB_PARSER::parsePAD(), SCH_EDITOR_CONTROL::Paste(), Plot(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), Print(), SCH_TEXTBOX::Print(), PrintBackground(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), SCH_SEXPR_PLUGIN_CACHE::saveTextBox(), SCH_SEXPR_PLUGIN::saveTextBox(), EDA_SHAPE::ShapeGetMsgPanelInfo(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickArc(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), EDA_SHAPE::TransformShapeToPolygon(), EE_POINT_EDITOR::updatePoints(), and PCB_POINT_EDITOR::updatePoints().
|
inlineinherited |
Definition at line 122 of file eda_shape.h.
References EDA_SHAPE::m_start, and VECTOR2< T >::x.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), LIB_SHAPE::Normalize(), Normalize(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 121 of file eda_shape.h.
References EDA_SHAPE::m_start, and VECTOR2< T >::y.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FP_TEXTBOX::GetBotRight(), PCB_TEXTBOX::GetBotRight(), FP_TEXTBOX::GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), LIB_SHAPE::Normalize(), Normalize(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtual |
Reimplemented from SCH_ITEM.
Definition at line 64 of file sch_shape.h.
References EDA_SHAPE::m_stroke.
Referenced by KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_SEXPR_PARSER::ParseSchematic(), Plot(), SCH_TEXTBOX::Plot(), Print(), SCH_TEXTBOX::Print(), SCH_SEXPR_PLUGIN::saveShape(), SCH_SEXPR_PLUGIN::saveTextBox(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), and DIALOG_TEXT_PROPERTIES::TransferDataToWindow().
|
inlinevirtualinherited |
Reimplemented in FP_TEXTBOX, and PCB_TEXTBOX.
Definition at line 167 of file eda_shape.h.
References EDA_SHAPE::GetStart().
Referenced by KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::makePoints(), and PCB_POINT_EDITOR::updatePoints().
|
inherited |
Return a translated description of the type for this EDA_ITEM for display in user facing messages.
Definition at line 301 of file eda_item.cpp.
References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().
Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().
|
inlineinherited |
Definition at line 109 of file eda_shape.h.
References STROKE_PARAMS::GetWidth(), and EDA_SHAPE::m_stroke.
Referenced by BOARD_ADAPTER::addShape(), GRAPHICS_CLEANER::areEquivalent(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), FP_SHAPE::Flip(), EDA_SHAPE::getBoundingBox(), FOOTPRINT::GetCoverageArea(), FP_TEXTBOX::GetEffectiveShape(), PCB_TEXTBOX::GetEffectiveShape(), EDA_SHAPE::GetEffectiveWidth(), LIB_SHAPE::GetPenWidth(), GetPenWidth(), hash_fp_item(), EDA_SHAPE::hitTest(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), FABMASTER::loadOutline(), FABMASTER::loadPolygon(), DSN::SPECCTRA_DB::makeIMAGE(), CONVERT_TOOL::makePolysFromChainedSegs(), PCB_SHAPE::Mirror(), FP_SHAPE::Mirror(), FOOTPRINT::cmp_drawings::operator()(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveBezier(), SCH_LEGACY_PLUGIN_CACHE::saveCircle(), SCH_LEGACY_PLUGIN_CACHE::savePolyLine(), SCH_LEGACY_PLUGIN_CACHE::saveRectangle(), FP_SHAPE::SetDrawCoord(), PLOTTER::ThickArc(), GERBER_PLOTTER::ThickArc(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_LIB_TEXTBOX_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), EDA_SHAPE::TransformShapeToPolygon(), FP_TEXTBOX::TransformShapeToPolygon(), PCB_TEXTBOX::TransformShapeToPolygon(), PCB_POINT_EDITOR::updateItem(), and PCB_SHAPE::ViewBBox().
|
inlineinherited |
Definition at line 143 of file eda_item.h.
References EDA_ITEM::m_flags.
Referenced by GRAPHICS_CLEANER::cleanupShapes(), SCH_EDIT_TOOL::DoDelete(), KIGFX::SCH_PAINTER::draw(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), FOOTPRINT::IsConflicting(), ZONE::IsConflicting(), SCH_MOVE_TOOL::Main(), SCH_SCREEN::MarkConnections(), SCH_MOVE_TOOL::moveItem(), SCH_MOVE_TOOL::orthoLineDrag(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), and EE_SELECTION_TOOL::selectMultiple().
|
inlineoverridevirtual |
Check if this schematic item has line stoke properties.
Reimplemented from SCH_ITEM.
Definition at line 63 of file sch_shape.h.
|
protectedinherited |
Definition at line 859 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, BOX2< Vec >::Contains(), EDA_SHAPE::getBoundingBox(), EDA_SHAPE::getCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::getParentOrientation(), EDA_SHAPE::getParentPosition(), SHAPE_LINE_CHAIN::GetPoint(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetStart(), EDA_SHAPE::GetWidth(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), BOX2< Vec >::IntersectsCircleEdge(), SHAPE_LINE_CHAIN::IsClosed(), EDA_SHAPE::IsFilled(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, SHAPE_LINE_CHAIN::Move(), BOX2< Vec >::Normalize(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), POLY, RECT, SHAPE_LINE_CHAIN::Rotate(), SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
inlineoverridevirtual |
Test if aRect intersects this item.
aRect | A reference to a BOX2I object containing the rectangle to test. |
aContained | Set to true to test for containment instead of an intersection. |
aAccuracy | Increase aRect by this amount. |
Reimplemented from EDA_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 54 of file sch_shape.h.
References EDA_SHAPE::hitTest().
|
protectedinherited |
Definition at line 745 of file eda_shape.cpp.
References std::abs(), SHAPE_POLY_SET::Append(), ARC, BEZIER, EDA_SHAPE::CalcArcAngles(), CIRCLE, SHAPE_POLY_SET::Collide(), SHAPE_POLY_SET::CollideEdge(), EuclideanNorm(), EDA_SHAPE::getCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetStart(), EDA_SHAPE::GetWidth(), EDA_SHAPE::IsAnnotationProxy(), EDA_SHAPE::IsFilled(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, SHAPE_POLY_SET::NewOutline(), EDA_ANGLE::Normalize(), POLY, EDA_SHAPE::RebuildBezierToSegmentsPointsList(), RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), TestSegmentHit(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::HitTest(), HitTest(), and PCB_SHAPE::HitTest().
|
inlineoverridevirtual |
Test if aPosition is inside or on the boundary of this item.
aPosition | A reference to a VECTOR2I object containing the coordinates to test. |
aAccuracy | Increase the item bounding box by this amount. |
Reimplemented from EDA_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 49 of file sch_shape.h.
References EDA_SHAPE::hitTest().
|
inherited |
Create a new connection object associated with this object.
aPath | is the sheet path to initialize. |
Definition at line 205 of file sch_item.cpp.
References SCH_ITEM::Connection(), SCH_ITEM::m_connection_map, SCH_CONNECTION::Reset(), SCH_ITEM::SetConnectivityDirty(), SCH_CONNECTION::SetGraph(), and SCH_CONNECTION::SetSheet().
Referenced by SCH_ITEM::GetOrInitConnection().
|
inlineinherited |
Definition at line 87 of file eda_shape.h.
References EDA_SHAPE::m_annotationProxy.
Referenced by KIGFX::PCB_PAINTER::draw(), EDA_SHAPE::GetFriendlyName(), EDA_SHAPE::hitTest(), EDA_SHAPE::makeEffectiveShapes(), PAD_TOOL::RecombinePad(), EDA_SHAPE::ShowShape(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and EDA_SHAPE::TransformShapeToPolygon().
|
inlineinherited |
Definition at line 108 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::GERBVIEW_PAINTER::draw(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_FRAME::FocusOnItem(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::SCH_PAINTER::getLineWidth(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_FIND_REPLACE_TOOL::UpdateFind(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inherited |
Definition at line 141 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_LINE_CHAIN::IsClosed(), SHAPE_POLY_SET::IsEmpty(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by CONVERT_TOOL::makePolysFromClosedGraphics(), and CONVERT_TOOL::makePolysFromOpenGraphics().
|
inlinevirtualinherited |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_JUNCTION, SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_NO_CONNECT, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, and SCH_SYMBOL.
Definition at line 349 of file sch_item.h.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_JUNCTION::CanConnect(), SCH_ITEM::Connection(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), SCH_EDIT_TOOL::DoDelete(), SCH_SCREEN::GetNeededJunctions(), SCH_ITEM::GetOrInitConnection(), EE_SELECTION::GetTopLeftItem(), SCH_EDIT_TOOL::Init(), SCH_MOVE_TOOL::Main(), SCH_EDIT_TOOL::Mirror(), EE_GRID_HELPER::nearestAnchor(), SCH_EDITOR_CONTROL::Paste(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Swap(), and SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires().
|
inherited |
Test the item to see if it is connected to aPoint.
aPoint | is a reference to a VECTOR2I object containing the coordinates to test. |
Definition at line 137 of file sch_item.cpp.
References SCH_ITEM::doIsConnected(), EDA_ITEM::m_flags, SKIP_STRUCT, and STRUCT_DELETED.
Referenced by SCH_SCREEN::doIsJunction(), SCH_MOVE_TOOL::getConnectedItems(), SCH_SCREEN::IsTerminalPoint(), and SCH_SCREEN::MarkConnections().
|
inlineinherited |
Definition at line 413 of file sch_item.h.
References SCH_ITEM::m_connectivity_dirty.
Referenced by SCH_ITEM::Connection(), KIGFX::SCH_PAINTER::draw(), SCH_BUS_ENTRY_BASE::GetBusEntryColor(), SCH_LINE::GetEffectiveLineStyle(), SCH_JUNCTION::getEffectiveShape(), SCH_FIELD::GetFieldColor(), SCH_JUNCTION::GetJunctionColor(), SCH_LABEL_BASE::GetLabelColor(), SCH_LINE::GetLineColor(), SCH_BUS_ENTRY_BASE::GetLineStyle(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), SCH_BUS_WIRE_ENTRY::GetPenWidth(), SCH_BUS_BUS_ENTRY::GetPenWidth(), SCH_LINE::GetPenWidth(), and highlightNet().
|
inlinevirtualinherited |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_LABEL_BASE, SCH_LINE, and SCH_PIN.
Definition at line 342 of file sch_item.h.
Referenced by SCH_EDIT_TOOL::ChangeTextType(), and KIGFX::SCH_PAINTER::draw().
|
inlineinherited |
Definition at line 107 of file eda_item.h.
References ENTERED, and EDA_ITEM::m_flags.
Referenced by KIGFX::PCB_PAINTER::draw().
|
inlineinherited |
Definition at line 90 of file eda_shape.h.
References EDA_SHAPE::GetFillMode(), and NO_FILL.
Referenced by BOARD_ADAPTER::addShape(), EDA_SHAPE::computeArcBBox(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_PLUGIN::format(), FOOTPRINT::GetCoverageArea(), PCB_SHAPE::GetFocusPosition(), hash_fp_item(), EDA_SHAPE::hitTest(), EDA_SHAPE::makeEffectiveShapes(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), LIB_SHAPE::print(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), KIGFX::SCH_PAINTER::setDeviceColors(), shapesNeedUpdate(), DIALOG_LIB_TEXTBOX_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), and EDA_SHAPE::TransformShapeToPolygon().
|
inlineinherited |
Definition at line 201 of file eda_item.h.
References EDA_ITEM::m_forceVisible.
Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().
|
inlinevirtualinherited |
Allow items to support hypertext actions when hovered/clicked.
Reimplemented in SCH_FIELD, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 239 of file sch_item.h.
Referenced by SCH_ITEM::RenderAsBitmap().
|
inlinevirtualinherited |
Definition at line 229 of file sch_item.h.
|
inlineinherited |
Definition at line 102 of file eda_item.h.
References IS_CHANGED, and EDA_ITEM::m_flags.
Referenced by PCB_EDIT_FRAME::OpenProjectFiles().
|
inlinevirtualinherited |
Reimplemented in SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_SHEET, SCH_SHEET_PIN, and SCH_SYMBOL.
Definition at line 207 of file sch_item.h.
Referenced by SCH_MOVE_TOOL::Main().
|
inlineinherited |
Definition at line 104 of file eda_item.h.
References IS_MOVING, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::AutoplaceFields(), LIB_PIN::CalcEdit(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), PCB_BASE_FRAME::PlaceFootprint(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), and SCH_EDIT_TOOL::Swap().
|
inlineinherited |
Definition at line 103 of file eda_item.h.
References IS_NEW, and EDA_ITEM::m_flags.
Referenced by SCH_EDIT_FRAME::AddItemToScreenAndUndoList(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_MOVE_TOOL::getConnectedDragItems(), DIALOG_PIN_PROPERTIES::getSyncPinsMessage(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), EE_POINT_EDITOR::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), EDIT_TOOL::MoveExact(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().
|
inlinevirtualinherited |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_JUNCTION, SCH_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_PIN, SCH_SHEET_PIN, and SCH_SYMBOL.
Definition at line 355 of file sch_item.h.
Referenced by EE_SELECTION_TOOL::autostartEvent().
|
inherited |
Definition at line 1242 of file eda_shape.cpp.
References EDA_SHAPE::GetPolyShape(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by PCB_PLUGIN::format(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), and EDA_SHAPE::TransformShapeToPolygon().
|
inlinevirtualinherited |
Override this method in any derived object that supports test find and replace.
Reimplemented in LIB_TEXTBOX, SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 420 of file eda_item.h.
Referenced by EDA_ITEM::Matches().
|
inlineinherited |
Definition at line 110 of file eda_item.h.
References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.
Referenced by KIGFX::SCH_PAINTER::draw().
|
inlineinherited |
Definition at line 106 of file eda_item.h.
References EDA_ITEM::m_flags, and SELECTED.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), RENDER_3D_OPENGL::renderFootprint(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), KIGFX::SCH_PAINTER::setDeviceColors(), GERBVIEW_SELECTION_TOOL::unselect(), HIERARCHY_PANE::UpdateHierarchySelection(), PCB_BASE_FRAME::UpdateUserUnits(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().
|
inlineinherited |
|
inlineoverridevirtualinherited |
Check whether the item is one of the listed types.
aScanTypes | List of item types |
Reimplemented from EDA_ITEM.
Reimplemented in SCH_LABEL_BASE, and SCH_LINE.
Definition at line 162 of file sch_item.h.
References EDA_ITEM::IsType(), LAYER_BUS, LAYER_NOTES, LAYER_WIRE, SCH_ITEM::m_layer, SCH_ITEM_LOCATE_BUS_T, SCH_ITEM_LOCATE_GRAPHIC_LINE_T, SCH_ITEM_LOCATE_WIRE_T, SCH_LINE_T, and EDA_ITEM::Type().
Referenced by SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_FRAME::AutoRotateItem(), SCH_FIELD::IsType(), SCH_LABEL_BASE::IsType(), SCH_LINE::IsType(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inlinestaticinherited |
This changes first parameter to avoid the DList and use the main queue instead.
Definition at line 302 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
Referenced by GERBER_FILE_IMAGE::Visit().
|
inlinestaticinherited |
Change first parameter to avoid the DList and use std::vector instead.
Definition at line 322 of file eda_item.h.
References CONTINUE, QUIT, and EDA_ITEM::Visit().
|
protectedinherited |
Make a set of SHAPE objects representing the EDA_SHAPE.
Caller owns the objects.
aEdgeOnly | indicates only edges should be generated (even if 0 width), and no fill shapes. |
aLineChainOnly | indicates SHAPE_POLY_SET is being abused slightly to represent a lineChain rather than a closed polygon |
Definition at line 1131 of file eda_shape.cpp.
References ANGLE_360, ARC, BEZIER, EDA_SHAPE::buildBezierToSegmentsPointsList(), CIRCLE, SHAPE_POLY_SET::COutline(), EDA_SHAPE::GetArcAngle(), EDA_SHAPE::getCenter(), EDA_SHAPE::GetEffectiveWidth(), EDA_SHAPE::GetEnd(), EDA_SHAPE::getParentOrientation(), EDA_SHAPE::getParentPosition(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::IsAnnotationProxy(), EDA_SHAPE::IsFilled(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_end, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, SHAPE_LINE_CHAIN::Move(), SHAPE_POLY_SET::OutlineCount(), POLY, RECT, SHAPE_LINE_CHAIN::Rotate(), SEGMENT, SHAPE_LINE_CHAIN::Segment(), SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_LINE_CHAIN::SetClosed(), EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by EDA_SHAPE::MakeEffectiveShapes(), and LIB_SHAPE::MakeEffectiveShapes().
|
inlinevirtualinherited |
Make a set of SHAPE objects representing the EDA_SHAPE.
Caller owns the objects.
aEdgeOnly | indicates only edges should be generated (even if 0 width), and no fill shapes. |
Reimplemented in LIB_SHAPE.
Definition at line 289 of file eda_shape.h.
References EDA_SHAPE::makeEffectiveShapes().
Referenced by BOARD_ADAPTER::addShape(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), PCB_SHAPE::GetEffectiveShape(), BRDITEMS_PLOTTER::PlotFootprintShape(), BRDITEMS_PLOTTER::PlotPcbShape(), Print(), SCH_TEXTBOX::Print(), 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_MARKER, LIB_TEXTBOX, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, SCH_TEXTBOX, FP_TEXT, FP_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TEXT, PCB_TEXTBOX, and ZONE.
Definition at line 382 of file eda_item.h.
Referenced by SCH_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), LIB_TEXTBOX::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), FP_TEXT::Matches(), FP_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::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 117 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, text, WHOLEWORD, and WILDCARD.
|
overridevirtual |
Mirror item horizontally about aCenter.
Implements SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 94 of file sch_shape.cpp.
References EDA_SHAPE::flip().
|
overridevirtual |
Mirror item vertically about aCenter.
Implements SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 100 of file sch_shape.cpp.
References EDA_SHAPE::flip().
|
protectedinherited |
Definition at line 173 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, SHAPE_POLY_SET::Move(), POLY, RECT, SEGMENT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by SCH_TEXTBOX::Move(), PCB_SHAPE::Move(), Move(), LIB_SHAPE::Offset(), and EDA_SHAPE::setPosition().
|
overridevirtual |
Move the item by aMoveVector to a new position.
Implements SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 67 of file sch_shape.cpp.
References EDA_SHAPE::move().
void SCH_SHAPE::Normalize | ( | ) |
Definition at line 73 of file sch_shape.cpp.
References EDA_SHAPE::GetEnd(), GetPosition(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStartX(), EDA_SHAPE::GetStartY(), RECT, EDA_SHAPE::SetEndX(), EDA_SHAPE::SetEndY(), EDA_SHAPE::SetStartX(), EDA_SHAPE::SetStartY(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDIT_POINTS_FACTORY::Make().
|
inherited |
Test if another item is less than this object.
aItem | - Item to compare against. |
Definition at line 231 of file eda_item.cpp.
References Format(), and EDA_ITEM::GetClass().
|
virtualinherited |
Reimplemented in SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LINE, SCH_SHEET, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.
Definition at line 271 of file sch_item.cpp.
References EDA_ITEM::GetPosition(), EDA_ITEM::m_Uuid, EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
|
overridevirtual |
Plot the schematic item to aPlotter.
aPlotter | is the PLOTTER object to plot to. |
aBackground | a poor-man's Z-order. The routine will get called twice, first with aBackground true and then with aBackground false. |
Reimplemented from SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 112 of file sch_shape.cpp.
References ARC, PLOTTER::Arc(), BEZIER, CIRCLE, PLOTTER::Circle(), CircleToEndSegmentDeltaRadius(), SHAPE_LINE_CHAIN::CPoints(), FILLED_WITH_COLOR, PLOTTER::FinishTo(), EDA_SHAPE::getCenter(), PLOTTER::GetColorMode(), GetEffectiveLineStyle(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetFillColor(), KIGFX::RENDER_SETTINGS::GetLayerColor(), KIGFX::RENDER_SETTINGS::GetMinPenWidth(), GetPenWidth(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetRectCorners(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), GetStroke(), LAYER_NOTES, PLOTTER::LineTo(), EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_fill, EDA_SHAPE::m_poly, PLOTTER::MoveTo(), NO_FILL, SHAPE_POLY_SET::Outline(), PLOTTER::PlotPoly(), POLY, RECT, PLOTTER::Rect(), PLOTTER::RenderSettings(), PLOTTER::SetColor(), PLOTTER::SetCurrentLineWidth(), PLOTTER::SetDash(), EDA_SHAPE::SHAPE_T_asString(), SOLID, and UNIMPLEMENTED_FOR.
Referenced by SCH_TEXTBOX::Plot().
|
overrideprivatevirtual |
Print a schematic item.
Each schematic item should have its own method
aOffset | is the drawing offset (usually {0,0} but can be different when moving an object). |
Implements SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 310 of file sch_shape.cpp.
References ARC, BEZIER, CIRCLE, color, SHAPE_LINE_CHAIN::CPoint(), EDA_SHAPE::getCenter(), STROKE_PARAMS::GetColor(), GetEffectiveLineStyle(), EDA_SHAPE::GetEnd(), KIGFX::RENDER_SETTINGS::GetLayerColor(), KIGFX::RENDER_SETTINGS::GetMinPenWidth(), GetPenWidth(), SHAPE_LINE_CHAIN::GetPointCount(), KIGFX::RENDER_SETTINGS::GetPrintDC(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), GetStroke(), GRArc(), GRCircle(), GRLine(), GRPoly(), GRRect(), LAYER_NOTES, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_poly, EDA_SHAPE::MakeEffectiveShapes(), SHAPE_POLY_SET::Outline(), POLY, RECT, EDA_SHAPE::SHAPE_T_asString(), SOLID, STROKE_PARAMS::Stroke(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
|
overrideprivatevirtual |
Print the (optional) backaground elements if they exist.
aSettings | Print settings |
aOffset | is the drawing offset (usually {0,0} but can be different when moving an object). |
Reimplemented from SCH_ITEM.
Definition at line 244 of file sch_shape.cpp.
References ARC, BEZIER, CIRCLE, color, SHAPE_LINE_CHAIN::CPoint(), FILLED_WITH_COLOR, EDA_SHAPE::getCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetFillColor(), EDA_SHAPE::GetFillMode(), KIGFX::RENDER_SETTINGS::GetLayerColor(), SHAPE_LINE_CHAIN::GetPointCount(), KIGFX::RENDER_SETTINGS::GetPrintDC(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), GRFilledArc(), GRFilledCircle(), GRFilledRect(), GRPoly(), LAYER_NOTES, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_poly, SHAPE_POLY_SET::Outline(), POLY, RECT, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
inherited |
Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments.
Has meaning only for BEZIER shape.
aMinSegLen | is the min length of segments approximating the bezier. The shape's last segment can be shorter. This parameter avoids having too many very short segment in list. Good values are between m_width/2 and m_width. |
Definition at line 405 of file eda_shape.cpp.
References BEZIER, EDA_SHAPE::buildBezierToSegmentsPointsList(), EuclideanNorm(), EDA_SHAPE::m_bezierPoints, and EDA_SHAPE::m_shape.
Referenced by FP_SHAPE::Flip(), EDA_SHAPE::hitTest(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), PCB_SHAPE::Mirror(), FP_SHAPE::Mirror(), FP_SHAPE::SetDrawCoord(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
overridevirtualinherited |
Reimplemented from EDA_ITEM.
Definition at line 294 of file sch_item.cpp.
References BITMAP_FONT_SIZE_THRESHOLD, SCH_ITEM::IsHypertext(), and text.
Referenced by KIGFX::SCH_PAINTER::draw().
|
inlinevirtualinherited |
Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.
This function must be overridden for items that support text replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aAuxData | A pointer to optional data required for the search or NULL if not used. |
Reimplemented in LIB_TEXTBOX, SCH_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.
Definition at line 409 of file eda_item.h.
|
staticinherited |
Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace.
aSearchData | A reference to a wxFindReplaceData object containing the search and replace criteria. |
aText | A reference to a wxString object containing the text to be replaced. |
Definition at line 168 of file eda_item.cpp.
References EDA_SEARCH_DATA::findString, EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::replaceString, text, and WHOLEWORD.
Referenced by EDA_TEXT::Replace(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), and SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext().
|
overridevirtual |
Rotate the item around aCenter 90 degrees in the clockwise direction.
Implements SCH_ITEM.
Reimplemented in SCH_TEXTBOX.
Definition at line 106 of file sch_shape.cpp.
References ANGLE_90, and EDA_SHAPE::rotate().
Referenced by SCH_TEXTBOX::Rotate().
Definition at line 263 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, CIRCLE, EDA_ANGLE::IsCardinal(), KI_FALLTHROUGH, EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_bezierPoints, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, SHAPE_POLY_SET::NewOutline(), POLY, RECT, SHAPE_POLY_SET::RemoveAllContours(), SHAPE_POLY_SET::Rotate(), RotatePoint(), SEGMENT, EDA_SHAPE::SHAPE_T_asString(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by Rotate(), LIB_SHAPE::Rotate(), and PCB_SHAPE::Rotate().
|
inlinevirtualinherited |
Reimplemented in SCH_LABEL_BASE, SCH_SHEET, and SCH_SYMBOL.
Definition at line 444 of file sch_item.h.
Referenced by SCH_ITEM::ClearCaches(), SCH_ITEM::Duplicate(), SCH_SHEET_PATH::GetItem(), CONNECTION_SUBGRAPH::GetNetclassForDriver(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
protectedinherited |
Definition at line 208 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_LINE_CHAIN::CPoints(), EDA_SHAPE::GetRadius(), KiROUND(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_bezierC1, EDA_SHAPE::m_bezierC2, EDA_SHAPE::m_end, EDA_SHAPE::m_poly, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), POLY, RECT, SEGMENT, EDA_SHAPE::SetPolyPoints(), EDA_SHAPE::SHAPE_T_asString(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_SHAPE::Scale().
|
inherited |
Searches the item hierarchy to find a SCHEMATIC.
Every SCH_ITEM that lives on a SCH_SCREEN should be parented to either that screen or another SCH_ITEM on the same screen (for example, pins to their symbols).
Every SCH_SCREEN should be parented to the SCHEMATIC.
Definition at line 112 of file sch_item.cpp.
References EDA_ITEM::GetParent(), SCHEMATIC_T, and EDA_ITEM::Type().
Referenced by EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::ChangeTextType(), SCH_ITEM::Connection(), SCH_DRAWING_TOOLS::createSheetPin(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_SHEET::findSelf(), SCH_MARKER::GetColorLayer(), SCH_SHEET::GetContextualTextVars(), SCH_ITEM::GetEffectiveNetClass(), SCH_JUNCTION::getEffectiveShape(), SCH_LABEL_BASE::GetIntersheetRefs(), SCH_LABEL_BASE::GetLabelBoxExpansion(), SCH_DIRECTIVE_LABEL::GetPenWidth(), SCH_LINE::GetPenWidth(), SCH_NO_CONNECT::GetPenWidth(), GetPenWidth(), SCH_SHEET::GetPenWidth(), SCH_SHEET_PIN::GetPenWidth(), SCH_SYMBOL::GetPins(), SCH_MARKER::GetSeverity(), SCH_FIELD::GetShownText(), SCH_TEXT::GetShownText(), SCH_TEXTBOX::GetShownText(), SCH_TEXT::GetTextOffset(), SCH_PIN::HitTest(), SCH_SHEET::IsRootSheet(), SCH_LABEL_BASE::IsType(), DIALOG_SYMBOL_PROPERTIES::OnAddField(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), DIALOG_TEXT_PROPERTIES::onScintillaCharAdded(), SCH_LABEL_BASE::ResolveTextVar(), SCH_GLOBALLABEL::ResolveTextVar(), SCH_SHEET::ResolveTextVar(), SCH_SYMBOL::ResolveTextVar(), SCH_SYMBOL::SetRef(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), and SCH_MARKER::ViewGetLayers().
|
inlineinherited |
Definition at line 66 of file inspectable.h.
References PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 54 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::set(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
|
inlineinherited |
Definition at line 42 of file inspectable.h.
References PROPERTY_MANAGER::Instance(), PROPERTY_BASE::OwnerHash(), PROPERTY_BASE::setter(), TYPE_HASH, and PROPERTY_MANAGER::TypeCast().
Referenced by PCB_PROPERTIES_PANEL::valueChanged().
|
inherited |
Set the end point from the angle center and start.
Definition at line 596 of file eda_shape.cpp.
References PNS::angle(), ANGLE_0, EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_end, EDA_SHAPE::m_endsSwapped, EDA_SHAPE::m_start, and RotatePoint().
Referenced by PAD::AddPrimitiveArc(), PCAD2KICAD::PCB_ARC::AddToBoard(), BOOST_AUTO_TEST_CASE(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertArcs6ToPcbShape(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), EAGLE_PLUGIN::loadPlain(), SCH_EAGLE_PLUGIN::loadSymbolWire(), SCH_ALTIUM_PLUGIN::ParseArc(), and DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow().
|
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 555 of file eda_shape.cpp.
References CalcArcCenter(), EDA_SHAPE::GetArcMid(), EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_arcMidData, EDA_SHAPE::m_end, EDA_SHAPE::m_endsSwapped, EDA_SHAPE::m_start, EDA_SHAPE::SetCachedArcData(), and VECTOR2< T >::SquaredEuclideanNorm().
Referenced by EDA_SHAPE::beginEdit(), EDA_SHAPE::calcEdit(), PCB_POINT_EDITOR::editArcMidKeepEndpoints(), ALTIUM_PCB::HelperCreateBoardOutline(), FABMASTER::loadFootprints(), FABMASTER::loadGraphics(), and FABMASTER::loadOutline().
|
inlineinherited |
Definition at line 175 of file eda_shape.h.
References EDA_SHAPE::m_bezierC1.
Referenced by PAD::AddPrimitiveCurve(), PAD_TOOL::explodePad(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_ALTIUM_PLUGIN::ParseBezier(), PAD_TOOL::RecombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 178 of file eda_shape.h.
References EDA_SHAPE::m_bezierC2.
Referenced by PAD::AddPrimitiveCurve(), PAD_TOOL::explodePad(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_ALTIUM_PLUGIN::ParseBezier(), PAD_TOOL::RecombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inlinevirtualinherited |
Reimplemented in FP_TEXTBOX, and PCB_TEXTBOX.
Definition at line 173 of file eda_shape.h.
References EDA_SHAPE::SetEndY().
Referenced by PCB_POINT_EDITOR::updateItem().
|
inlineinherited |
Definition at line 116 of file eda_item.h.
References BRIGHTENED, and EDA_ITEM::SetFlags().
Referenced by KIGFX::SCH_PAINTER::draw(), SCH_EDIT_FRAME::FocusOnItem(), PCB_BASE_FRAME::FocusOnItems(), EE_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlightInternal(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inherited |
Set the data used for mid point caching.
If the controlling points remain constant, then we keep the midpoint the same as it was when read in. This minimizes VCS churn
aStart | Cached start point |
aMid | Cached mid point |
aEnd | Cached end point |
aCenter | Calculated center point using the preceeding three |
Definition at line 546 of file eda_shape.cpp.
References ARC_MID::center, ARC_MID::end, EDA_SHAPE::m_arcMidData, ARC_MID::mid, and ARC_MID::start.
Referenced by EDA_SHAPE::SetArcGeometry().
|
inherited |
Definition at line 470 of file eda_shape.cpp.
References ARC, CIRCLE, EDA_SHAPE::m_arcCenter, EDA_SHAPE::m_shape, EDA_SHAPE::m_start, EDA_SHAPE::SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PAD::AddPrimitiveArc(), PCAD2KICAD::PCB_ARC::AddToBoard(), BOOST_AUTO_TEST_CASE(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertArcs6ToPcbShape(), PCB_POINT_EDITOR::editArcCenterKeepEndpoints(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), FABMASTER::loadFootprints(), FABMASTER::loadGraphics(), FABMASTER::loadOutline(), EAGLE_PLUGIN::loadPlain(), SCH_EAGLE_PLUGIN::loadSymbolWire(), SCH_ALTIUM_PLUGIN::ParseArc(), PAD_TOOL::RecombinePad(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and updateArcFromConstructionMgr().
|
inlineinherited |
Definition at line 415 of file sch_item.h.
References SCH_ITEM::m_connectivity_dirty.
Referenced by SCH_LINE::BreakAt(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_ITEM::GetOrInitConnection(), SCH_ITEM::InitializeConnection(), SCH_LINE::MergeOverlap(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_EDITOR_CONTROL::Paste(), SCH_EDIT_FRAME::SaveCopyInUndoList(), and CONNECTION_GRAPH::updateItemConnectivity().
|