![]() |
KiCad PCB EDA Suite
|
#include <eda_shape.h>
Public Member Functions | |
EDA_SHAPE (SHAPE_T aType, int aLineWidth, FILL_T aFill, bool eeWinding) | |
~EDA_SHAPE () | |
void | SwapShape (EDA_SHAPE *aImage) |
wxString | ShowShape () const |
wxString | SHAPE_T_asString () const |
void | SetFillMode (FILL_T aFill) |
FILL_T | GetFillType () const |
bool | IsFilled () const |
void | SetFilled (bool aFlag) |
void | SetWidth (int aWidth) |
int | GetWidth () const |
void | SetShape (SHAPE_T aShape) |
SHAPE_T | GetShape () const |
const wxPoint & | GetStart () const |
Return the starting point of the graphic. More... | |
int | GetStartY () |
int | GetStartX () |
void | SetStart (const wxPoint &aStart) |
void | SetStartY (int y) |
void | SetStartX (int x) |
const wxPoint & | GetEnd () const |
Return the ending point of the graphic. More... | |
int | GetEndY () |
int | GetEndX () |
void | SetEnd (const wxPoint &aEnd) |
void | SetEndY (int y) |
void | SetEndX (int x) |
void | SetBezierC1 (const wxPoint &aPt) |
const wxPoint & | GetBezierC1 () const |
void | SetBezierC2 (const wxPoint &aPt) |
const wxPoint & | GetBezierC2 () const |
wxPoint | getCenter () const |
void | SetCenter (const wxPoint &aCenter) |
void | SetArcAngleAndEnd (double aAngle, bool aCheckNegativeAngle=false) |
Set the end point from the angle center and start. More... | |
double | GetArcAngle () const |
bool | EndsSwapped () const |
Have the start and end points been swapped since they were set? More... | |
wxPoint | GetArcMid () const |
std::vector< wxPoint > | GetRectCorners () const |
void | CalcArcAngles (double &aStartAngle, double &aEndAngle) const |
Calc arc start and end angles such that aStartAngle < aEndAngle. More... | |
int | GetRadius () const |
void | SetArcGeometry (const wxPoint &aStart, const wxPoint &aMid, const wxPoint &aEnd) |
Set the three controlling points for an arc. More... | |
void | SetCachedArcData (const wxPoint &aStart, const wxPoint &aMid, const wxPoint &aEnd, const wxPoint &aCenter) |
Set the data used for mid point caching. More... | |
const std::vector< wxPoint > & | GetBezierPoints () const |
void | DupPolyPointsList (std::vector< wxPoint > &aBuffer) const |
Duplicate the list of corners in a std::vector<wxPoint> 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< wxPoint > &aPoints) |
void | RebuildBezierToSegmentsPointsList (int aMinSegLen) |
Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments. More... | |
std::vector< SHAPE * > | MakeEffectiveShapes () 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 | TransformShapeWithClearanceToPolygon (SHAPE_POLY_SET &aCornerBuffer, int aClearanceValue, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth) const |
Convert the shape to a closed polygon. More... | |
int | Compare (const EDA_SHAPE *aOther) const |
Protected Member Functions | |
void | setPosition (const wxPoint &aPos) |
wxPoint | getPosition () const |
void | move (const wxPoint &aMoveVector) |
void | rotate (const wxPoint &aRotCentre, double aAngle) |
void | flip (const wxPoint &aCentre, bool aFlipLeftRight) |
void | scale (double aScale) |
virtual double | getParentOrientation () const =0 |
virtual wxPoint | getParentPosition () const =0 |
const EDA_RECT | getBoundingBox () const |
void | computeArcBBox (EDA_RECT &aBBox) const |
bool | hitTest (const wxPoint &aPosition, int aAccuracy=0) const |
bool | hitTest (const EDA_RECT &aRect, bool aContained, int aAccuracy=0) const |
const std::vector< wxPoint > | buildBezierToSegmentsPointsList (int aMinSegLen) const |
void | beginEdit (const wxPoint &aStartPoint) |
bool | continueEdit (const wxPoint &aPosition) |
void | calcEdit (const wxPoint &aPosition) |
void | endEdit (bool aClosed=true) |
Finishes editing the shape. More... | |
void | setEditState (int aState) |
Protected Attributes | |
bool | m_endsSwapped |
SHAPE_T | m_shape |
int | m_width |
FILL_T | m_fill |
wxPoint | m_start |
wxPoint | m_end |
wxPoint | m_arcCenter |
ARC_MID | m_arcMidData |
wxPoint | m_bezierC1 |
wxPoint | m_bezierC2 |
std::vector< wxPoint > | m_bezierPoints |
SHAPE_POLY_SET | m_poly |
int | m_editState |
bool | m_eeWinding |
Definition at line 71 of file eda_shape.h.
Definition at line 40 of file eda_shape.cpp.
EDA_SHAPE::~EDA_SHAPE | ( | ) |
Definition at line 51 of file eda_shape.cpp.
|
protected |
Definition at line 1233 of file eda_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), ARC, CIRCLE, GetShape(), m_editState, m_poly, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, SetArcGeometry(), SHAPE_LINE_CHAIN::SetClosed(), SetEnd(), SetStart(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::BeginEdit().
|
protected |
Definition at line 380 of file eda_shape.cpp.
References BEZIER_POLY::GetPoly(), m_bezierC1, m_bezierC2, m_end, and m_start.
Referenced by MakeEffectiveShapes(), and RebuildBezierToSegmentsPointsList().
void EDA_SHAPE::CalcArcAngles | ( | double & | aStartAngle, |
double & | aEndAngle | ||
) | const |
Calc arc start and end angles such that aStartAngle < aEndAngle.
Each may be between -360.0 and 360.0.
Definition at line 451 of file eda_shape.cpp.
References getCenter(), GetEnd(), GetStart(), NormalizeAngleDegrees(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by computeArcBBox(), KIGFX::PCB_PAINTER::draw(), GetArcAngle(), and hitTest().
|
protected |
Definition at line 1291 of file eda_shape.cpp.
References ARC, ArcTangente(), CIRCLE, GetEnd(), GetLineLength(), SHAPE_LINE_CHAIN::GetPointCount(), GetRadius(), GetShape(), GetStart(), KiROUND(), m_arcCenter, m_editState, m_end, m_poly, m_start, NORMALIZE_ANGLE_POS(), SHAPE_POLY_SET::Outline(), POLY, RECT, RotatePoint(), SEGMENT, SetArcGeometry(), SetEnd(), SHAPE_LINE_CHAIN::SetPoint(), SHAPE_T_asString(), sq, and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::CalcEdit().
int EDA_SHAPE::Compare | ( | const EDA_SHAPE * | aOther | ) | const |
Definition at line 1465 of file eda_shape.cpp.
References ARC, BEZIER, SHAPE_POLY_SET::CVertex(), m_arcCenter, m_bezierC1, m_bezierC2, m_end, m_fill, m_poly, m_shape, m_start, m_width, POLY, TEST, TEST_E, TEST_PT, and SHAPE_POLY_SET::TotalVertices().
Referenced by LIB_SHAPE::compare(), and BOARD::cmp_drawings::operator()().
|
protected |
Definition at line 1017 of file eda_shape.cpp.
References PNS::angle(), VECTOR2< T >::Angle(), ArcTangente(), CalcArcAngles(), GetRadius(), m_arcCenter, m_eeWinding, m_end, m_start, EDA_RECT::Merge(), NormalizeAngleDegrees(), NormalizeAnglePos(), RAD2DECIDEG(), EDA_RECT::SetOrigin(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by getBoundingBox().
|
protected |
Definition at line 1264 of file eda_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), ARC, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::GetPointCount(), GetShape(), m_poly, SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::ContinueEdit().
void EDA_SHAPE::DupPolyPointsList | ( | std::vector< wxPoint > & | aBuffer | ) | const |
Duplicate the list of corners in a std::vector<wxPoint>
It must be used only to convert the SHAPE_POLY_SET internal corner buffer to a list of wxPoints, and nothing else, because it duplicates the buffer, that is inefficient to know for instance the corner count
Definition at line 1193 of file eda_shape.cpp.
References SHAPE_POLY_SET::CIterate(), SHAPE_POLY_SET::COutline(), m_poly, SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by PCB_GRID_HELPER::computeAnchors(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
protected |
Finishes editing the shape.
aClosed | Should polygon shapes be closed (yes for pcbnew/fpeditor, no for libedit) |
Definition at line 1416 of file eda_shape.cpp.
References ARC, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), SHAPE_LINE_CHAIN::GetPointCount(), GetShape(), m_poly, SHAPE_POLY_SET::Outline(), POLY, RECT, SHAPE_LINE_CHAIN::Remove(), SEGMENT, SHAPE_LINE_CHAIN::SetClosed(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::EndEdit().
|
inline |
Have the start and end points been swapped since they were set?
Definition at line 175 of file eda_shape.h.
References m_endsSwapped.
Referenced by CADSTAR_PCB_ARCHIVE_LOADER::makeTracksFromShapes().
|
protected |
Definition at line 281 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, BEZIER_POLY::GetPoly(), m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_end, m_poly, m_shape, m_start, m_width, SHAPE_POLY_SET::Mirror(), POLY, RECT, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::Flip(), LIB_SHAPE::MirrorHorizontal(), and LIB_SHAPE::MirrorVertical().
double EDA_SHAPE::GetArcAngle | ( | ) | const |
Definition at line 536 of file eda_shape.cpp.
References CalcArcAngles().
Referenced by BOARD_ADAPTER::addShapeWithClearance(), ConvertOutlineToPolygon(), FootprintWriteShape(), GetArcMid(), FP_SHAPE::GetArcMid0(), GetLength(), CADSTAR_PCB_ARCHIVE_LOADER::getLineChainFromShapes(), hash_fp_item(), idf_export_outline(), MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), ShapeGetMsgPanelInfo(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), and DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow().
wxPoint EDA_SHAPE::GetArcMid | ( | ) | const |
Definition at line 437 of file eda_shape.cpp.
References ARC_MID::center, ARC_MID::end, GetArcAngle(), m_arcCenter, m_arcMidData, m_end, m_start, ARC_MID::mid, RotatePoint(), and ARC_MID::start.
Referenced by PCB_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreateLines(), PCB_POINT_EDITOR::editArcMidKeepEndpoints(), PCB_PLUGIN::format(), formatArc(), PCB_SHAPE::GetFocusPosition(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromSegs(), SetArcGeometry(), TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 154 of file eda_shape.h.
References m_bezierC1.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), formatBezier(), getBoundingBox(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 157 of file eda_shape.h.
References m_bezierC2.
Referenced by GRAPHICS_CLEANER::areEquivalent(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), formatBezier(), getBoundingBox(), PCB_POINT_EDITOR::makePoints(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 210 of file eda_shape.h.
References m_bezierPoints.
Referenced by ConvertOutlineToPolygon(), KIGFX::SCH_PAINTER::draw(), GRAPHICS_CLEANER::isNullShape(), and SCH_LEGACY_PLUGIN_CACHE::saveBezier().
|
protected |
Definition at line 634 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_POLY_SET::CIterate(), computeArcBBox(), GetBezierC1(), GetBezierC2(), GetEnd(), getParentOrientation(), getParentPosition(), GetRadius(), GetRectCorners(), GetStart(), EDA_RECT::Inflate(), SHAPE_POLY_SET::IsEmpty(), m_poly, m_shape, m_width, EDA_RECT::Merge(), EDA_RECT::Normalize(), POLY, RECT, RotatePoint(), SEGMENT, EDA_RECT::SetEnd(), EDA_RECT::SetOrigin(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::GetBoundingBox(), PCB_SHAPE::GetBoundingBox(), getCenter(), and hitTest().
wxPoint EDA_SHAPE::getCenter | ( | ) | const |
Definition at line 393 of file eda_shape.cpp.
References ARC, BEZIER, EDA_RECT::Centre(), CIRCLE, getBoundingBox(), m_arcCenter, m_end, m_shape, m_start, POLY, RECT, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by CalcArcAngles(), PCB_SHAPE::GetCenter(), LIB_SHAPE::GetCenter(), getPosition(), hitTest(), MakeEffectiveShapes(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), and TransformShapeWithClearanceToPolygon().
|
inline |
Return the ending point of the graphic.
Definition at line 131 of file eda_shape.h.
References m_end.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), LIB_SHAPE::CalcArcAngles(), CalcArcAngles(), calcEdit(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), CreateBoardSection(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), CONVERT_TOOL::CreatePolys(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_PLUGIN::format(), formatArc(), formatBezier(), formatRect(), getBoundingBox(), GetLength(), GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), CONVERT_TOOL::getStartEndPoints(), hash_fp_item(), hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_EAGLE_PLUGIN::loadSymbolRectangle(), EDIT_POINTS_FACTORY::Make(), MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromRects(), CONVERT_TOOL::makePolysFromSegs(), GRAPHICS_CLEANER::mergeRects(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveRectangle(), ShapeGetMsgPanelInfo(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), TransformShapeWithClearanceToPolygon(), EE_POINT_EDITOR::updatePoints(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 133 of file eda_shape.h.
References m_end.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inline |
Definition at line 132 of file eda_shape.h.
References m_end.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inline |
Definition at line 88 of file eda_shape.h.
References m_fill.
Referenced by LIB_SHAPE::GetEffectivePenWidth(), IsFilled(), LIB_SYMBOL::Plot(), LIB_SHAPE::print(), LIB_SYMBOL::Print(), 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_CACHE::saveSymbolDrawItem(), KIGFX::SCH_PAINTER::setDeviceColors(), and DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow().
double EDA_SHAPE::GetLength | ( | ) | const |
Return the length of the track using the hypotenuse calculation.
Definition at line 106 of file eda_shape.cpp.
References ARC, BEZIER, SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CSegment(), GetArcAngle(), GetEnd(), GetLineLength(), GetRadius(), GetStart(), SEG::Length(), m_bezierPoints, m_poly, m_shape, POLY, SEGMENT, SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by ShapeGetMsgPanelInfo().
|
protectedpure virtual |
Implemented in PCB_SHAPE, and LIB_SHAPE.
Referenced by getBoundingBox(), GetRectCorners(), hitTest(), MakeEffectiveShapes(), and TransformShapeWithClearanceToPolygon().
|
protectedpure virtual |
Implemented in PCB_SHAPE, and LIB_SHAPE.
Referenced by getBoundingBox(), GetRectCorners(), hitTest(), MakeEffectiveShapes(), and TransformShapeWithClearanceToPolygon().
int EDA_SHAPE::GetPointCount | ( | ) | const |
Definition at line 1222 of file eda_shape.cpp.
References GetPolyShape(), and SHAPE_POLY_SET::VertexCount().
Referenced by GRAPHICS_CLEANER::isNullShape(), and EE_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 227 of file eda_shape.h.
References m_poly.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), ConvertOutlineToPolygon(), CONVERT_TOOL::CreateLines(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), KIGFX::SCH_PAINTER::draw(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), PCB_PLUGIN::format(), formatPoly(), PCB_SHAPE::GetFocusPosition(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), GetPointCount(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), ALTIUM_PCB::HelperShapeSetLocalCoord(), IsPolyShapeValid(), EDIT_POINTS_FACTORY::Make(), MakeEffectiveShapes(), PCB_POINT_EDITOR::makePoints(), EAGLE_PLUGIN::packagePolygon(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotPcbShape(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), EE_POINT_EDITOR::removeCornerCondition(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), SCH_LEGACY_PLUGIN_CACHE::savePolyLine(), ShapeGetMsgPanelInfo(), PCB_POINT_EDITOR::updateItem(), EE_POINT_EDITOR::updateParentItem(), and EE_POINT_EDITOR::updatePoints().
|
inline |
|
protected |
Definition at line 95 of file eda_shape.cpp.
References ARC, SHAPE_POLY_SET::CVertex(), getCenter(), m_poly, m_shape, m_start, and POLY.
Referenced by PCB_SHAPE::GetPosition(), LIB_SHAPE::GetPosition(), and setPosition().
int EDA_SHAPE::GetRadius | ( | ) | const |
Definition at line 472 of file eda_shape.cpp.
References ARC, CIRCLE, GetLineLength(), KiROUND(), m_arcCenter, m_end, m_shape, m_start, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), calcEdit(), computeArcBBox(), ConvertOutlineToPolygon(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), formatCircle(), getBoundingBox(), PCB_SHAPE::GetFocusPosition(), GetLength(), LIB_SHAPE::GetSelectMenuText(), hash_fp_item(), hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), CONVERT_TOOL::makePolysFromCircles(), ALTIUM_PCB::Parse(), PCB_PARSER::parsePAD(), LIB_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotPcbShape(), LIB_SHAPE::print(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), SCH_LEGACY_PLUGIN_CACHE::saveCircle(), scale(), ShapeGetMsgPanelInfo(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), and TransformShapeWithClearanceToPolygon().
std::vector< wxPoint > EDA_SHAPE::GetRectCorners | ( | ) | const |
Definition at line 981 of file eda_shape.cpp.
References GetEnd(), getParentOrientation(), getParentPosition(), GetStart(), KiROUND(), and RotatePoint().
Referenced by BOARD_ADAPTER::addShapeWithClearance(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), getBoundingBox(), hitTest(), MakeEffectiveShapes(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), and TransformShapeWithClearanceToPolygon().
|
inline |
Definition at line 101 of file eda_shape.h.
References m_shape.
Referenced by PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), LIB_SHAPE::AddPoint(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), beginEdit(), calcEdit(), PCB_POINT_EDITOR::canAddCorner(), PCB_GRID_HELPER::computeAnchors(), continueEdit(), ConvertOutlineToPolygon(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), endEdit(), PAD_TOOL::explodePad(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), FP_SHAPE::Flip(), FootprintWriteShape(), PCB_PLUGIN::format(), FOOTPRINT::GetCoverageArea(), LIB_SHAPE::GetMenuImage(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), LIB_SHAPE::GetSelectMenuText(), 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::makePolysFromCircles(), CONVERT_TOOL::makePolysFromRects(), GRAPHICS_CLEANER::mergeRects(), FP_SHAPE::Mirror(), FP_SHAPE::Move(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), ALTIUM_PCB::Parse(), LIB_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), LIB_SHAPE::print(), PAD_TOOL::recombinePad(), PCB_POINT_EDITOR::removeCorner(), 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_LEGACY_PLUGIN_CACHE::SaveSymbol(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), PCB_POINT_EDITOR::updateItem(), EE_POINT_EDITOR::updateParentItem(), EE_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::Validate().
|
inline |
Return the starting point of the graphic.
Definition at line 106 of file eda_shape.h.
References m_start.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), LIB_SHAPE::CalcArcAngles(), CalcArcAngles(), calcEdit(), PCB_GRID_HELPER::computeAnchors(), ConvertOutlineToPolygon(), CreateBoardSection(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), CONVERT_TOOL::CreatePolys(), KIGFX::PCB_PAINTER::draw(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_PLUGIN::format(), formatArc(), formatBezier(), formatCircle(), formatRect(), getBoundingBox(), PCB_SHAPE::GetFocusPosition(), GetLength(), GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), CONVERT_TOOL::getStartEndPoints(), hash_fp_item(), 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::makePolysFromRects(), CONVERT_TOOL::makePolysFromSegs(), GRAPHICS_CLEANER::mergeRects(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), BRDITEMS_PLOTTER::PlotPcbTarget(), SCH_LEGACY_PLUGIN_CACHE::saveArc(), ShapeGetMsgPanelInfo(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), TransformShapeWithClearanceToPolygon(), EE_POINT_EDITOR::updatePoints(), and PCB_POINT_EDITOR::updatePoints().
|
inline |
Definition at line 108 of file eda_shape.h.
References m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inline |
Definition at line 107 of file eda_shape.h.
References m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inline |
Definition at line 98 of file eda_shape.h.
References m_width.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), ConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_PLUGIN::format(), FOOTPRINT::GetCoverageArea(), LIB_SHAPE::GetPenWidth(), CONVERT_TOOL::getStartEndPoints(), hash_fp_item(), hitTest(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), FABMASTER::loadPolygon(), MakeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), CONVERT_TOOL::makePolysFromRects(), CONVERT_TOOL::makePolysFromSegs(), PCB_PARSER::parsePAD(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), 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(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), CONVERT_TOOL::SegmentToArc(), AR_MATRIX::TraceSegmentPcb(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_LIB_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), PCB_POINT_EDITOR::updateItem(), and PCB_SHAPE::ViewBBox().
|
protected |
Definition at line 695 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, CalcArcAngles(), CIRCLE, SHAPE_POLY_SET::Collide(), SHAPE_POLY_SET::CollideEdge(), dummy(), EuclideanNorm(), getCenter(), GetEnd(), GetRadius(), GetRectCorners(), GetStart(), IsFilled(), KiROUND(), m_bezierPoints, m_eeWinding, m_end, m_poly, m_shape, m_start, m_width, SHAPE_POLY_SET::NewOutline(), NormalizeAngleDegrees(), POLY, RECT, SEGMENT, SHAPE_T_asString(), TestSegmentHit(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::HitTest(), and PCB_SHAPE::HitTest().
|
protected |
Definition at line 804 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, EDA_RECT::Common(), EDA_RECT::Contains(), DECIDEG2RAD(), getBoundingBox(), getCenter(), GetEnd(), getParentOrientation(), getParentPosition(), SHAPE_LINE_CHAIN::GetPoint(), SHAPE_LINE_CHAIN::GetPointCount(), GetRadius(), GetRectCorners(), GetStart(), GetWidth(), EDA_RECT::Inflate(), EDA_RECT::Intersects(), EDA_RECT::IntersectsCircleEdge(), SHAPE_LINE_CHAIN::IsClosed(), m_bezierPoints, m_poly, m_shape, SHAPE_LINE_CHAIN::Move(), EDA_RECT::Normalize(), SHAPE_POLY_SET::Outline(), POLY, RECT, SHAPE_LINE_CHAIN::Rotate(), SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
inline |
Definition at line 90 of file eda_shape.h.
References GetFillType(), and NO_FILL.
Referenced by BOARD_ADAPTER::addShapeWithClearance(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), PCB_PLUGIN::format(), FOOTPRINT::GetCoverageArea(), PCB_SHAPE::GetFocusPosition(), hash_fp_item(), hitTest(), MakeEffectiveShapes(), PCB_PARSER::parsePAD(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), LIB_SHAPE::print(), KIGFX::SCH_PAINTER::setDeviceColors(), PNS_KICAD_IFACE_BASE::syncGraphicalItem(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataToWindow(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataToWindow(), and TransformShapeWithClearanceToPolygon().
bool EDA_SHAPE::IsPolyShapeValid | ( | ) | const |
Definition at line 1210 of file eda_shape.cpp.
References GetPolyShape(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by PCB_PLUGIN::format(), BRDITEMS_PLOTTER::PlotFootprintGraphicItem(), BRDITEMS_PLOTTER::PlotPcbShape(), and TransformShapeWithClearanceToPolygon().
std::vector< SHAPE * > EDA_SHAPE::MakeEffectiveShapes | ( | ) | const |
Make a set of SHAPE objects representing the EDA_SHAPE.
Caller owns the objects.
Definition at line 1095 of file eda_shape.cpp.
References SEG::A, ARC, SEG::B, BEZIER, buildBezierToSegmentsPointsList(), CIRCLE, SHAPE_ARC::ConvertToPolyline(), SHAPE_POLY_SET::COutline(), DECIDEG2RAD(), GetArcAngle(), getCenter(), GetEnd(), getParentOrientation(), getParentPosition(), GetPolyShape(), GetRadius(), GetRectCorners(), GetWidth(), IsFilled(), m_arcCenter, m_end, m_shape, m_start, m_width, SHAPE_LINE_CHAIN::Move(), POLY, RECT, SHAPE_LINE_CHAIN::Rotate(), SEGMENT, SHAPE_LINE_CHAIN::Segment(), SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::GetEffectiveShape(), and PNS_KICAD_IFACE_BASE::syncGraphicalItem().
|
protected |
Definition at line 137 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_end, m_poly, m_shape, m_start, SHAPE_POLY_SET::Move(), POLY, RECT, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::Move(), LIB_SHAPE::Offset(), and setPosition().
void EDA_SHAPE::RebuildBezierToSegmentsPointsList | ( | int | aMinSegLen | ) |
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 366 of file eda_shape.cpp.
References BEZIER, buildBezierToSegmentsPointsList(), m_bezierPoints, and m_shape.
Referenced by ConvertOutlineToPolygon(), FP_SHAPE::Flip(), GRAPHICS_CLEANER::isNullShape(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), FP_SHAPE::Mirror(), FP_SHAPE::SetDrawCoord(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
protected |
Definition at line 224 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, CIRCLE, DECIDEG2RAD(), KI_FALLTHROUGH, KiROUND(), m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_end, m_poly, m_shape, m_start, SHAPE_POLY_SET::NewOutline(), POLY, RECT, SHAPE_POLY_SET::RemoveAllContours(), SHAPE_POLY_SET::Rotate(), RotatePoint(), SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by LIB_SHAPE::Rotate(), and PCB_SHAPE::Rotate().
|
protected |
Definition at line 172 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_LINE_CHAIN::CPoints(), GetRadius(), KiROUND(), m_arcCenter, m_bezierC1, m_bezierC2, m_end, m_poly, m_shape, m_start, SHAPE_POLY_SET::Outline(), POLY, RECT, SEGMENT, SetPolyPoints(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::Scale().
void EDA_SHAPE::SetArcAngleAndEnd | ( | double | aAngle, |
bool | aCheckNegativeAngle = false |
||
) |
Set the end point from the angle center and start.
aAngle | is tenths of degrees. |
Definition at line 547 of file eda_shape.cpp.
References m_arcCenter, m_end, m_endsSwapped, m_start, NormalizeAngle360Max(), and RotatePoint().
Referenced by PAD::AddPrimitiveArc(), PCAD2KICAD::PCB_ARC::AddToBoard(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), EAGLE_PLUGIN::loadPlain(), ALTIUM_PCB::ParseArcs6Data(), and DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow().
void EDA_SHAPE::SetArcGeometry | ( | const wxPoint & | aStart, |
const wxPoint & | aMid, | ||
const wxPoint & | aEnd | ||
) |
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 504 of file eda_shape.cpp.
References CalcArcCenter(), GetArcMid(), m_arcCenter, m_arcMidData, m_end, m_endsSwapped, m_start, SetCachedArcData(), and VECTOR2< T >::SquaredEuclideanNorm().
Referenced by beginEdit(), calcEdit(), PCB_POINT_EDITOR::editArcMidKeepEndpoints(), ALTIUM_PCB::HelperCreateBoardOutline(), and SCH_EAGLE_PLUGIN::loadSymbolWire().
|
inline |
Definition at line 153 of file eda_shape.h.
References 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().
|
inline |
Definition at line 156 of file eda_shape.h.
References 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().
void EDA_SHAPE::SetCachedArcData | ( | const wxPoint & | aStart, |
const wxPoint & | aMid, | ||
const wxPoint & | aEnd, | ||
const wxPoint & | aCenter | ||
) |
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 495 of file eda_shape.cpp.
References ARC_MID::center, ARC_MID::end, m_arcMidData, ARC_MID::mid, and ARC_MID::start.
Referenced by SetArcGeometry().
void EDA_SHAPE::SetCenter | ( | const wxPoint & | aCenter | ) |
Definition at line 419 of file eda_shape.cpp.
References ARC, CIRCLE, m_arcCenter, m_shape, m_start, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PAD::AddPrimitiveArc(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), EAGLE_PLUGIN::loadPlain(), SCH_ALTIUM_PLUGIN::ParseArc(), ALTIUM_PCB::ParseArcs6Data(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and updateArcFromConstructionMgr().
|
inlineprotected |
Definition at line 315 of file eda_shape.h.
References m_editState.
Referenced by LIB_SHAPE::SetEditState().
|
inline |
Definition at line 135 of file eda_shape.h.
References m_end, and m_endsSwapped.
Referenced by PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_LINE::AddToBoard(), beginEdit(), calcEdit(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_POINT_EDITOR::editArcMidKeepCenter(), PAD_TOOL::explodePad(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), HelperGeneratePowerPortGraphics(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_LEGACY_PLUGIN_CACHE::loadCircle(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), EAGLE_PLUGIN::loadPlain(), SCH_LEGACY_PLUGIN_CACHE::loadRect(), SCH_EAGLE_PLUGIN::loadSymbolCircle(), SCH_EAGLE_PLUGIN::loadSymbolRectangle(), GRAPHICS_CLEANER::mergeRects(), SCH_ALTIUM_PLUGIN::ParseArc(), ALTIUM_PCB::ParseArcs6Data(), SCH_ALTIUM_PLUGIN::ParseBezier(), SCH_ALTIUM_PLUGIN::ParseRectangle(), SCH_ALTIUM_PLUGIN::ParseRoundRectangle(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), PCB_TARGET::TransformShapeWithClearanceToPolygon(), updateArcFromConstructionMgr(), PCB_POINT_EDITOR::updateItem(), EE_POINT_EDITOR::updateParentItem(), and updateSegmentFromGeometryMgr().
|
inline |
Definition at line 147 of file eda_shape.h.
References m_end, and m_endsSwapped.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), initTextTable(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), DRAWING_TOOL::PlaceCharacteristics(), DRAWING_TOOL::PlaceStackup(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), PCB_TARGET::TransformShapeWithClearanceToPolygon(), and PCB_POINT_EDITOR::updateItem().
|
inline |
Definition at line 141 of file eda_shape.h.
References m_end, and m_endsSwapped.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), initTextTable(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), DRAWING_TOOL::PlaceCharacteristics(), DRAWING_TOOL::PlaceStackup(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inline |
Definition at line 92 of file eda_shape.h.
References FILLED_SHAPE, m_fill, and NO_FILL.
Referenced by PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), ZONE_CREATE_HELPER::commitZone(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperParsePad6NonCopper(), FABMASTER::loadGraphics(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
|
inline |
Definition at line 87 of file eda_shape.h.
References m_fill.
Referenced by PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_LEGACY_PLUGIN_CACHE::loadCircle(), SCH_LEGACY_PLUGIN_CACHE::loadPolyLine(), SCH_LEGACY_PLUGIN_CACHE::loadRect(), SCH_EAGLE_PLUGIN::loadSymbolPolyLine(), SCH_EAGLE_PLUGIN::loadSymbolRectangle(), SCH_EAGLE_PLUGIN::loadSymbolWire(), SCH_ALTIUM_PLUGIN::ParsePolygon(), SCH_ALTIUM_PLUGIN::ParseRectangle(), SCH_ALTIUM_PLUGIN::ParseRoundRectangle(), and DIALOG_LIB_SHAPE_PROPERTIES::TransferDataFromWindow().
void EDA_SHAPE::SetPolyPoints | ( | const std::vector< wxPoint > & | aPoints | ) |
Definition at line 1085 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), m_poly, SHAPE_POLY_SET::NewOutline(), and SHAPE_POLY_SET::RemoveAllContours().
Referenced by PAD::AddPrimitivePoly(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), MICROWAVE_TOOL::createPolygonShape(), ALTIUM_PCB::HelperParsePad6NonCopper(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), ALTIUM_PCB::ParseFills6Data(), scale(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
|
inline |
Definition at line 235 of file eda_shape.h.
References m_poly.
Referenced by ZONE_CREATE_HELPER::commitZone(), CONVERT_TOOL::CreatePolys(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), FABMASTER::loadGraphics(), FABMASTER::loadPolygon(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), and PAD_TOOL::recombinePad().
|
protected |
Definition at line 89 of file eda_shape.cpp.
References getPosition(), and move().
Referenced by LIB_SHAPE::MoveTo(), PCB_SHAPE::SetPosition(), and LIB_SHAPE::SetPosition().
|
inline |
Definition at line 100 of file eda_shape.h.
References m_shape.
Referenced by ZONE_CREATE_HELPER::commitZone(), CONVERT_TOOL::CreatePolys(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperParsePad6NonCopper(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), ALTIUM_PCB::ParseArcs6Data(), GPCB_FPL_CACHE::parseFOOTPRINT(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), and PAD_TOOL::recombinePad().
|
inline |
Definition at line 110 of file eda_shape.h.
References m_endsSwapped, and m_start.
Referenced by PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), beginEdit(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), PCB_POINT_EDITOR::editArcEndpointKeepCenter(), PCB_POINT_EDITOR::editArcEndpointKeepTangent(), PCB_POINT_EDITOR::editArcMidKeepCenter(), PAD_TOOL::explodePad(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), ALTIUM_PCB::HelperCreateBoardOutline(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_LEGACY_PLUGIN_CACHE::loadCircle(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), EAGLE_PLUGIN::loadPlain(), GRAPHICS_CLEANER::mergeRects(), SCH_ALTIUM_PLUGIN::ParseArc(), ALTIUM_PCB::ParseArcs6Data(), SCH_ALTIUM_PLUGIN::ParseBezier(), ALTIUM_PCB::ParseTracks6Data(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), PCB_TARGET::TransformShapeWithClearanceToPolygon(), updateArcFromConstructionMgr(), PCB_POINT_EDITOR::updateItem(), and updateSegmentFromGeometryMgr().
|
inline |
Definition at line 122 of file eda_shape.h.
References m_endsSwapped, and m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), initTextTable(), DRAWING_TOOL::PlaceCharacteristics(), DRAWING_TOOL::PlaceStackup(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inline |
Definition at line 116 of file eda_shape.h.
References m_endsSwapped, and m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), initTextTable(), DRAWING_TOOL::PlaceCharacteristics(), DRAWING_TOOL::PlaceStackup(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), and PCB_POINT_EDITOR::updateItem().
|
inline |
Definition at line 97 of file eda_shape.h.
References m_width.
Referenced by PAD::AddPrimitiveArc(), PAD::AddPrimitiveCircle(), PAD::AddPrimitiveCurve(), PAD::AddPrimitivePoly(), PAD::AddPrimitiveRect(), PAD::AddPrimitiveSegment(), PCAD2KICAD::PCB_ARC::AddToBoard(), PCAD2KICAD::PCB_LINE::AddToBoard(), PCAD2KICAD::PCB_ARC::AddToFootprint(), PCAD2KICAD::PCB_LINE::AddToFootprint(), PCAD2KICAD::PCB_POLYGON::AddToFootprint(), ZONE_CREATE_HELPER::commitZone(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), DRAWING_TOOL::drawArc(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PAD_TOOL::explodePad(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperCreateBoardOutline(), HelperGeneratePowerPortGraphics(), ALTIUM_PCB::HelperParseDimensions6Datum(), ALTIUM_PCB::HelperParseDimensions6Leader(), ALTIUM_PCB::HelperParsePad6NonCopper(), SCH_LEGACY_PLUGIN_CACHE::loadArc(), SCH_LEGACY_PLUGIN_CACHE::loadBezier(), SCH_LEGACY_PLUGIN_CACHE::loadCircle(), FABMASTER::loadGraphics(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), CADSTAR_PCB_ARCHIVE_LOADER::loadNetTracks(), EAGLE_PLUGIN::loadPlain(), FABMASTER::loadPolygon(), SCH_LEGACY_PLUGIN_CACHE::loadPolyLine(), SCH_LEGACY_PLUGIN_CACHE::loadRect(), SCH_EAGLE_PLUGIN::loadSymbolCircle(), SCH_EAGLE_PLUGIN::loadSymbolWire(), GRAPHICS_CLEANER::mergeRects(), DIALOG_PAD_PROPERTIES::onAddPrimitive(), EAGLE_PLUGIN::packageCircle(), EAGLE_PLUGIN::packagePolygon(), EAGLE_PLUGIN::packageRectangle(), EAGLE_PLUGIN::packageWire(), SCH_ALTIUM_PLUGIN::ParseArc(), ALTIUM_PCB::ParseArcs6Data(), SCH_ALTIUM_PLUGIN::ParseBezier(), ALTIUM_PCB::ParseFills6Data(), GPCB_FPL_CACHE::parseFOOTPRINT(), SCH_ALTIUM_PLUGIN::ParseLine(), SCH_ALTIUM_PLUGIN::ParsePolygon(), SCH_ALTIUM_PLUGIN::ParsePolyline(), SCH_ALTIUM_PLUGIN::ParseRectangle(), SCH_ALTIUM_PLUGIN::ParseRoundRectangle(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTracks6Data(), PCB_SHAPE_DESC::PCB_SHAPE_DESC(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), PAD_TOOL::recombinePad(), CONVERT_TOOL::SegmentToArc(), DIALOG_LIB_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PRIMITIVES_PROPERTIES::TransferDataFromWindow(), and DIALOG_PAD_PRIMITIVE_POLY_PROPS::TransferDataFromWindow().
wxString EDA_SHAPE::SHAPE_T_asString | ( | ) | const |
Definition at line 71 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, LAST, m_shape, POLY, RECT, and SEGMENT.
Referenced by LIB_SHAPE::AddPoint(), BOARD_ADAPTER::addShapeWithClearance(), GRAPHICS_CLEANER::areEquivalent(), beginEdit(), calcEdit(), continueEdit(), ConvertOutlineToPolygon(), KIGFX::SCH_PAINTER::draw(), endEdit(), PAD_TOOL::explodePad(), FP_SHAPE::Flip(), flip(), PCB_PLUGIN::format(), getBoundingBox(), getCenter(), FP_SHAPE::GetCenter0(), GetLength(), LIB_SHAPE::GetMenuImage(), GetRadius(), LIB_SHAPE::GetSelectMenuText(), hitTest(), GRAPHICS_CLEANER::isNullShape(), EDIT_POINTS_FACTORY::Make(), MakeEffectiveShapes(), FP_SHAPE::Mirror(), FP_SHAPE::Move(), move(), LIB_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotPcbShape(), LIB_SHAPE::print(), PAD_TOOL::recombinePad(), rotate(), SCH_SEXPR_PLUGIN_CACHE::saveSymbolDrawItem(), scale(), SetCenter(), FP_SHAPE::SetCenter0(), TransformShapeWithClearanceToPolygon(), EE_POINT_EDITOR::updateParentItem(), EE_POINT_EDITOR::updatePoints(), and DIALOG_GRAPHIC_ITEM_PROPERTIES::Validate().
void EDA_SHAPE::ShapeGetMsgPanelInfo | ( | EDA_DRAW_FRAME * | aFrame, |
std::vector< MSG_PANEL_ITEM > & | aList | ||
) |
Definition at line 560 of file eda_shape.cpp.
References _, ARC, BEZIER, CIRCLE, Format(), GetArcAngle(), GetEnd(), GetLength(), GetLineLength(), EDA_DRAW_FRAME::GetOriginTransforms(), GetPolyShape(), GetRadius(), GetStart(), EDA_BASE_FRAME::GetUserUnits(), m_shape, m_width, MessageTextFromValue(), POLY, RAD2DEG(), RECT, and SEGMENT.
Referenced by LIB_SHAPE::GetMsgPanelInfo(), and PCB_SHAPE::GetMsgPanelInfo().
wxString EDA_SHAPE::ShowShape | ( | ) | const |
Definition at line 56 of file eda_shape.cpp.
References _, ARC, BEZIER, CIRCLE, m_shape, POLY, RECT, and SEGMENT.
Referenced by PCB_SHAPE::GetSelectMenuText(), FP_SHAPE::GetSelectMenuText(), and LIB_SHAPE::GetTypeName().
void EDA_SHAPE::SwapShape | ( | EDA_SHAPE * | aImage | ) |
Definition at line 1448 of file eda_shape.cpp.
References image, m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_end, m_poly, m_shape, m_start, and m_width.
Referenced by PCB_SHAPE::SwapData().
void EDA_SHAPE::TransformShapeWithClearanceToPolygon | ( | SHAPE_POLY_SET & | aCornerBuffer, |
int | aClearanceValue, | ||
int | aError, | ||
ERROR_LOC | aErrorLoc, | ||
bool | ignoreLineWidth | ||
) | const |
Convert the shape to a closed polygon.
Used in filling zones calculations. Circles and arcs are approximated by segments.
aCornerBuffer | is a buffer to store the polygon. |
aClearanceValue | is the clearance around the pad. |
aError | is the maximum deviation from a true arc. |
aErrorLoc | whether any approximation error shoule be placed inside or outside |
ignoreLineWidth | is used for edge cut items where the line width is only for visualization |
Definition at line 1502 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, CIRCLE, DupPolyPointsList(), GetArcMid(), GetBezierC1(), GetBezierC2(), getCenter(), GetEnd(), getParentOrientation(), getParentPosition(), BEZIER_POLY::GetPoly(), GetRadius(), GetRectCorners(), GetStart(), IsFilled(), IsPolyShapeValid(), m_shape, m_width, SHAPE_POLY_SET::NewOutline(), POLY, RECT, RotatePoint(), SEGMENT, SHAPE_T_asString(), TransformArcToPolygon(), TransformCircleToPolygon(), TransformOvalToPolygon(), TransformRingToPolygon(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::TransformShapeWithClearanceToPolygon().
|
protected |
Definition at line 325 of file eda_shape.h.
Referenced by calcEdit(), Compare(), computeArcBBox(), FP_SHAPE::Flip(), flip(), GetArcMid(), FP_SHAPE::GetArcMid0(), getCenter(), GetRadius(), MakeEffectiveShapes(), move(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), SetCenter(), FP_SHAPE::SetDrawCoord(), FP_SHAPE::SetLocalCoord(), and SwapShape().
|
protected |
Definition at line 326 of file eda_shape.h.
Referenced by GetArcMid(), SetArcGeometry(), and SetCachedArcData().
|
protected |
Definition at line 328 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), Compare(), FP_SHAPE::Flip(), flip(), GetBezierC1(), move(), rotate(), scale(), SetBezierC1(), FP_SHAPE::SetDrawCoord(), FP_SHAPE::SetLocalCoord(), and SwapShape().
|
protected |
Definition at line 329 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), Compare(), FP_SHAPE::Flip(), flip(), GetBezierC2(), move(), rotate(), scale(), SetBezierC2(), FP_SHAPE::SetDrawCoord(), FP_SHAPE::SetLocalCoord(), and SwapShape().
|
protected |
Definition at line 331 of file eda_shape.h.
Referenced by flip(), GetBezierPoints(), GetLength(), LIB_SHAPE::GetSelectMenuText(), hitTest(), move(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), RebuildBezierToSegmentsPointsList(), rotate(), and SwapShape().
|
protected |
Definition at line 334 of file eda_shape.h.
Referenced by beginEdit(), calcEdit(), LIB_SHAPE::LIB_SHAPE(), and setEditState().
|
protected |
Definition at line 335 of file eda_shape.h.
Referenced by computeArcBBox(), and hitTest().
|
protected |
Definition at line 323 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), calcEdit(), Compare(), computeArcBBox(), FP_SHAPE::Flip(), flip(), GetArcMid(), FP_SHAPE::GetArcMid0(), getCenter(), GetEnd(), GetEndX(), GetEndY(), GetRadius(), LIB_SHAPE::GetSelectMenuText(), hitTest(), MakeEffectiveShapes(), FP_SHAPE::Mirror(), move(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), FP_SHAPE::SetDrawCoord(), SetEnd(), SetEndX(), SetEndY(), FP_SHAPE::SetLocalCoord(), and SwapShape().
|
protected |
Definition at line 318 of file eda_shape.h.
Referenced by EndsSwapped(), SetArcAngleAndEnd(), SetArcGeometry(), SetEnd(), SetEndX(), SetEndY(), SetStart(), SetStartX(), and SetStartY().
|
protected |
Definition at line 321 of file eda_shape.h.
Referenced by Compare(), GetFillType(), LIB_SHAPE::Plot(), SetFilled(), SetFillMode(), and PCB_SHAPE::SwapData().
|
protected |
Definition at line 332 of file eda_shape.h.
Referenced by LIB_SHAPE::AddPoint(), beginEdit(), calcEdit(), Compare(), continueEdit(), DupPolyPointsList(), endEdit(), FP_SHAPE::Flip(), flip(), getBoundingBox(), GetLength(), GetPolyShape(), getPosition(), LIB_SHAPE::GetSelectMenuText(), hitTest(), FP_SHAPE::Mirror(), FP_SHAPE::Move(), move(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), rotate(), scale(), SetPolyPoints(), SetPolyShape(), and SwapShape().
|
protected |
Definition at line 319 of file eda_shape.h.
Referenced by Compare(), flip(), getBoundingBox(), getCenter(), FP_SHAPE::GetCenter0(), PCB_SHAPE::GetFocusPosition(), GetLength(), getPosition(), GetRadius(), GetShape(), hitTest(), MakeEffectiveShapes(), move(), RebuildBezierToSegmentsPointsList(), rotate(), scale(), SetCenter(), FP_SHAPE::SetCenter0(), SetShape(), SHAPE_T_asString(), ShapeGetMsgPanelInfo(), ShowShape(), SwapShape(), and TransformShapeWithClearanceToPolygon().
|
protected |
Definition at line 322 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), calcEdit(), Compare(), computeArcBBox(), FP_SHAPE::Flip(), flip(), GetArcMid(), FP_SHAPE::GetArcMid0(), getCenter(), getPosition(), GetRadius(), LIB_SHAPE::GetSelectMenuText(), GetStart(), GetStartX(), GetStartY(), hitTest(), MakeEffectiveShapes(), FP_SHAPE::Mirror(), move(), LIB_SHAPE::Plot(), LIB_SHAPE::print(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), SetCenter(), FP_SHAPE::SetDrawCoord(), FP_SHAPE::SetLocalCoord(), SetStart(), SetStartX(), SetStartY(), and SwapShape().
|
protected |
Definition at line 320 of file eda_shape.h.
Referenced by Compare(), FP_SHAPE::Flip(), flip(), getBoundingBox(), GetWidth(), hitTest(), MakeEffectiveShapes(), FP_SHAPE::Mirror(), FP_SHAPE::SetDrawCoord(), SetWidth(), ShapeGetMsgPanelInfo(), SwapShape(), and TransformShapeWithClearanceToPolygon().