34class NETLIST_OBJECT_LIST;
 
   56    void Serialize( google::protobuf::Any &aContainer ) 
const override;
 
   57    bool Deserialize( 
const google::protobuf::Any &aContainer ) 
override;
 
   66        return wxT( 
"SCH_LINE" );
 
 
   71    bool IsType( 
const std::vector<KICAD_T>& aScanTypes )
 const override 
   76        for( 
KICAD_T scanType : aScanTypes  )
 
 
  192    void SetLineColor( 
const double r, 
const double g, 
const double b, 
const double a );
 
  215        return style_a == style_b
 
 
  297    void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList ) 
override;
 
  300                              std::vector<DANGLING_END_ITEM>& aItemListByPos,
 
  336    bool HitTest( 
const VECTOR2I& aPosition, 
int aAccuracy = 0 ) 
const override;
 
  337    bool HitTest( 
const BOX2I& aRect, 
bool aContained, 
int aAccuracy = 0 ) 
const override;
 
  341               int aUnit, 
int aBodyStyle, 
const VECTOR2I& aOffset, 
bool aDimmed ) 
override;
 
  351    void Show( 
int nestLevel, std::ostream& os ) 
const override;
 
 
BITMAPS
A list of all bitmap identifiers.
 
The base class for create windows for drawing purpose.
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
KICAD_T Type() const
Returns the type of object.
 
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
 
A color representation with 4 components: red, green, blue, alpha.
 
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
 
Base plotter engine class.
 
Base class for any item which can be embedded within the SCHEMATIC container class,...
 
SCH_ITEM(EDA_ITEM *aParent, KICAD_T aType, int aUnit=0, int aBodyStyle=0)
 
bool IsType(const std::vector< KICAD_T > &aScanTypes) const override
Check whether the item is one of the listed types.
 
Segment description base class to describe items which have 2 end points (track, wire,...
 
int GetPenWidth() const override
 
bool doIsConnected(const VECTOR2I &aPosition) const override
Provide the object specific test to see if it is connected to aPosition.
 
void GetEndPoints(std::vector< DANGLING_END_ITEM > &aItemList) override
Add the schematic item end points to aItemList if the item has end points.
 
void SetStartPoint(const VECTOR2I &aPosition)
 
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
 
BITMAPS GetMenuImage() const override
Return a pointer to an image to be used in menus.
 
bool UpdateDanglingState(std::vector< DANGLING_END_ITEM > &aItemListByType, std::vector< DANGLING_END_ITEM > &aItemListByPos, const SCH_SHEET_PATH *aPath=nullptr) override
Test the schematic item to aItemList to check if it's dangling state has changed.
 
void SetOperatingPoint(const wxString &aText)
 
bool m_startIsDangling
True if start point is not connected.
 
bool HitTest(const VECTOR2I &aPosition, int aAccuracy=0) const override
Test if aPosition is inside or on the boundary of this item.
 
bool IsPointClickableAnchor(const VECTOR2I &aPos) const override
 
void SetPosition(const VECTOR2I &aPosition) override
 
void StoreAngle()
Save the current line angle.
 
std::vector< VECTOR3I > BuildWireWithHopShape(const SCH_SCREEN *aScreen, double aArcRadius) const
For wires only: build the list of points to draw the shape using segments and 180 deg arcs Points are...
 
SCH_LINE * NonGroupAware_BreakAt(const VECTOR2I &aPoint)
This version should only be used when importing files.
 
std::vector< VECTOR2I > GetConnectionPoints() const override
Add all the connection points for this item to aPoints.
 
int GetReverseAngleFrom(const VECTOR2I &aPoint) const
 
SCH_LINE(const VECTOR2I &pos=VECTOR2I(0, 0), int layer=LAYER_NOTES)
 
virtual bool HasLineStroke() const override
Check if this schematic item has line stoke properties.
 
bool IsWire() const
Return true if the line is a wire.
 
bool IsStartDangling() const
 
SCH_LINE(const VECTOR2D &pos, int layer=LAYER_NOTES)
 
const BOX2I GetBoundingBox() const override
Return the orthogonal bounding box of this object for display purposes.
 
void SetWireStyle(const WIRE_STYLE aStyle)
 
void SetLineColor(const COLOR4D &aColor)
 
bool CanConnect(const SCH_ITEM *aItem) const override
 
EDA_ANGLE GetStoredAngle() const
Return the angle stored by StoreAngle().
 
bool IsParallel(const SCH_LINE *aLine) const
 
void SetLineWidth(const int aSize)
 
bool ShouldHopOver(const SCH_LINE *aLine) const
For wires only:
 
void MirrorHorizontally(int aCenter) override
Mirror item horizontally about aCenter.
 
virtual STROKE_PARAMS GetStroke() const override
 
int GetAngleFrom(const VECTOR2I &aPoint) const
 
void GetSelectedPoints(std::vector< VECTOR2I > &aPoints) const
 
COLOR4D m_lastResolvedColor
 
LINE_STYLE GetEffectiveLineStyle() const
 
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
 
EDA_ANGLE Angle() const
Get the angle between the start and end lines.
 
void Plot(PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed) override
Plot the item to aPlotter.
 
wxString m_operatingPoint
 
void SetLength(double aLength)
 
wxString GetClass() const override
Return the class name.
 
static bool ClassOf(const EDA_ITEM *aItem)
 
void Rotate(const VECTOR2I &aCenter, bool aRotateCCW) override
Rotate the item around aCenter 90 degrees in the clockwise direction.
 
VECTOR2I GetMidPoint() const
 
VECTOR2I GetEndPoint() const
 
VECTOR2I GetStartPoint() const
 
bool ConnectionPropagatesTo(const EDA_ITEM *aItem) const override
Return true if this item should propagate connection info to aItem.
 
LINE_STYLE m_lastResolvedLineStyle
 
VECTOR2I GetPosition() const override
 
SEG GetSeg() const
Get the geometric aspect of the wire as a SEG.
 
bool IsEndDangling() const
 
SCH_LINE * MergeOverlap(SCH_SCREEN *aScreen, SCH_LINE *aLine, bool aCheckJunctions)
Check line against aLine to see if it overlaps and merge if it does.
 
VECTOR2I m_start
Line start point.
 
bool IsBus() const
Return true if the line is a bus.
 
void StoreAngle(const EDA_ANGLE &aAngle)
 
bool HasConnectivityChanges(const SCH_ITEM *aItem, const SCH_SHEET_PATH *aInstance=nullptr) const override
Check if aItem has connectivity changes against this object.
 
void Serialize(google::protobuf::Any &aContainer) const override
Serializes this object to the given Any message.
 
void SetLineStyle(const LINE_STYLE aStyle)
 
VECTOR2I m_end
Line end point.
 
void Move(const VECTOR2I &aMoveVector) override
Move the item by aMoveVector to a new position.
 
LINE_STYLE GetLineStyle() const
 
void MoveEnd(const VECTOR2I &aMoveVector)
 
VECTOR2I GetSortPosition() const override
Return the coordinates that should be used for sorting this element visually compared to other elemen...
 
STROKE_PARAMS m_stroke
Line stroke properties.
 
EDA_ANGLE m_storedAngle
Stored angle.
 
SCH_LINE * BreakAt(SCH_COMMIT *aCommit, const VECTOR2I &aPoint)
Break this segment into two at the specified point.
 
bool m_endIsDangling
True if end point is not connected.
 
bool IsConnectable() const override
 
wxString GetFriendlyName() const override
 
double ViewGetLOD(int aLayer, const KIGFX::VIEW *aView) const override
Return the level of detail (LOD) of the item.
 
void MirrorVertically(int aCenter) override
Mirror item vertically about aCenter.
 
bool operator==(const SCH_ITEM &aOther) const override
 
bool operator<(const SCH_ITEM &aItem) const override
 
virtual void SetStroke(const STROKE_PARAMS &aStroke) override
 
bool IsStrokeEquivalent(const SCH_LINE *aLine)
 
WIRE_STYLE GetWireStyle() const
 
void SetLastResolvedState(const SCH_ITEM *aItem) override
 
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
Return a user-visible description string of this item.
 
bool IsEndPoint(const VECTOR2I &aPoint) const override
Test if aPt is an end point of this schematic object.
 
bool IsGraphicLine() const
Return if the line is a graphic (non electrical line)
 
static enum wxPenStyle PenStyle[]
 
COLOR4D GetLineColor() const
Return COLOR4D::UNSPECIFIED if a custom color hasn't been set for this line.
 
std::vector< int > ViewGetLayers() const override
Return the layers the item is drawn on (which may be more than its "home" layer)
 
void MoveStart(const VECTOR2I &aMoveVector)
 
bool Deserialize(const google::protobuf::Any &aContainer) override
Deserializes the given protobuf message into this object.
 
bool IsOrthogonal() const
Check if line is orthogonal (to the grid).
 
void SetEndPoint(const VECTOR2I &aPosition)
 
bool IsType(const std::vector< KICAD_T > &aScanTypes) const override
Check whether the item is one of the listed types.
 
bool IsDangling() const override
 
const wxString & GetOperatingPoint() const
 
double Similarity(const SCH_ITEM &aOther) const override
Return a measure of how likely the other object is to represent the same object.
 
void swapData(SCH_ITEM *aItem) override
Swap the internal data structures aItem with the schematic item.
 
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
 
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
 
Simple container to manage line stroke parameters.
 
LINE_STYLE GetLineStyle() const
 
KIGFX::COLOR4D GetColor() const
 
#define DECLARE_ENUM_TO_WXANY(type)
 
LINE_STYLE
Dashed line types.
 
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.
 
@ SCH_ITEM_LOCATE_GRAPHIC_LINE_T
 
VECTOR2< int32_t > VECTOR2I
 
VECTOR2< double > VECTOR2D