|
KiCad PCB EDA Suite
|
Public Member Functions | |
| EDA_SHAPE_MOCK (SHAPE_T aShapeType) | |
| void | SwapShape (EDA_SHAPE *aImage) |
| void | Serialize (google::protobuf::Any &aContainer) const override |
| Serializes this object to the given Any message. | |
| void | Serialize (google::protobuf::Any &aContainer, const EDA_IU_SCALE &aScale) const |
| bool | Deserialize (const google::protobuf::Any &aContainer) override |
| Deserializes the given protobuf message into this object. | |
| bool | Deserialize (const google::protobuf::Any &aContainer, const EDA_IU_SCALE &aScale) |
| wxString | ShowShape () const |
| wxString | SHAPE_T_asString () const |
| virtual bool | IsProxyItem () const |
| virtual void | SetIsProxyItem (bool aIsProxy=true) |
| bool | IsAnyFill () const |
| bool | IsSolidFill () const |
| bool | IsHatchedFill () const |
| virtual bool | IsFilledForHitTesting () const |
| virtual void | SetFilled (bool aFlag) |
| void | SetFillMode (FILL_T aFill) |
| FILL_T | GetFillMode () const |
| void | SetFillModeProp (UI_FILL_MODE) |
| UI_FILL_MODE | GetFillModeProp () const |
| void | SetHatchingDirty () |
| const SHAPE_POLY_SET & | GetHatching () const |
| const std::vector< SEG > & | GetHatchLines () const |
| bool | IsClosed () const |
| COLOR4D | GetFillColor () const |
| void | SetFillColor (const COLOR4D &aColor) |
| virtual void | SetWidth (int aWidth) |
| virtual int | GetWidth () const |
| virtual int | GetEffectiveWidth () const |
| virtual int | GetHatchLineWidth () const |
| virtual int | GetHatchLineSpacing () const |
| void | SetLineStyle (const LINE_STYLE aStyle) |
| LINE_STYLE | GetLineStyle () const |
| void | SetLineColor (const COLOR4D &aColor) |
| COLOR4D | GetLineColor () const |
| virtual void | SetShape (SHAPE_T aShape) |
| SHAPE_T | GetShape () const |
| const VECTOR2I & | GetStart () const |
| Return the starting point of the graphic. | |
| int | GetStartY () const |
| int | GetStartX () const |
| virtual void | SetStart (const VECTOR2I &aStart) |
| void | SetStartY (int y) |
| void | SetStartX (int x) |
| void | SetCenterY (int y) |
| void | SetCenterX (int x) |
| const VECTOR2I & | GetEnd () const |
| Return the ending point of the graphic. | |
| int | GetEndY () const |
| int | GetEndX () const |
| virtual void | SetEnd (const VECTOR2I &aEnd) |
| void | SetEndY (int aY) |
| void | SetEndX (int aX) |
| void | SetRadius (int aX) |
| 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) |
| virtual void | SetBezierC1 (const VECTOR2I &aPt) |
| const VECTOR2I & | GetBezierC1 () const |
| virtual void | SetBezierC2 (const VECTOR2I &aPt) |
| const VECTOR2I & | GetBezierC2 () const |
| virtual void | SetEllipseCenter (const VECTOR2I &aPt) |
| const VECTOR2I & | GetEllipseCenter () const |
| virtual void | SetEllipseMajorRadius (int aR) |
| int | GetEllipseMajorRadius () const |
| virtual void | SetEllipseMinorRadius (int aR) |
| int | GetEllipseMinorRadius () const |
| virtual void | SetEllipseRotation (const EDA_ANGLE &aA) |
| EDA_ANGLE | GetEllipseRotation () const |
| virtual void | SetEllipseStartAngle (const EDA_ANGLE &aA) |
| EDA_ANGLE | GetEllipseStartAngle () const |
| virtual void | SetEllipseEndAngle (const EDA_ANGLE &aA) |
| EDA_ANGLE | GetEllipseEndAngle () const |
| const ELLIPSE< int > & | GetEllipse () const |
| Direct read-only access to the underlying ellipse payload. | |
| 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. | |
| EDA_ANGLE | GetArcAngle () const |
| EDA_ANGLE | GetSegmentAngle () const |
| bool | EndsSwapped () const |
| Have the start and end points been swapped since they were set? | |
| VECTOR2I | GetArcMid () const |
| std::vector< VECTOR2I > | GetRectCorners () const |
| virtual std::vector< VECTOR2I > | GetCornersInSequence (EDA_ANGLE angle) const |
| void | CalcArcAngles (EDA_ANGLE &aStartAngle, EDA_ANGLE &aEndAngle) const |
| Calc arc start and end angles such that aStartAngle < aEndAngle. | |
| int | GetRadius () const |
| void | SetArcGeometry (const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd) |
| Set the three controlling points for an arc. | |
| void | SetCachedArcData (const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCenter) |
| Set the data used for mid point caching. | |
| const std::vector< VECTOR2I > & | GetBezierPoints () const |
| std::vector< VECTOR2I > | GetPolyPoints () const |
| Duplicate the polygon outlines into a flat list of VECTOR2I points. | |
| int | GetPointCount () const |
| SHAPE_POLY_SET & | GetPolyShape () |
| const SHAPE_POLY_SET & | GetPolyShape () const |
| bool | IsPolyShapeValid () const |
| virtual void | SetPolyShape (const SHAPE_POLY_SET &aShape) |
| void | SetPolyPoints (const std::vector< VECTOR2I > &aPoints) |
| void | RebuildBezierToSegmentsPointsList (int aMaxError) |
| Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments. | |
| void | RebuildBezierToSegmentsPointsList () |
| virtual std::vector< SHAPE * > | MakeEffectiveShapes (bool aEdgeOnly=false) const |
| Make a set of SHAPE objects representing the EDA_SHAPE. | |
| virtual std::vector< SHAPE * > | MakeEffectiveShapesForHitTesting () const |
| void | ShapeGetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) |
| void | SetRectangleHeight (const int &aHeight) |
| void | SetRectangleWidth (const int &aWidth) |
| void | SetRectangle (const long long int &aHeight, const long long int &aWidth) |
| void | SetCornerRadius (int aRadius) |
| int | GetCornerRadius () const |
| bool | IsClockwiseArc () const |
| double | GetLength () const |
| int | GetRectangleHeight () const |
| int | GetRectangleWidth () const |
| virtual void | UpdateHatching () const |
| void | TransformShapeToPolygon (SHAPE_POLY_SET &aBuffer, int aClearance, int aError, ERROR_LOC aErrorLoc, bool ignoreLineWidth=false, bool includeFill=false) const |
| Convert the shape to a closed polygon. | |
| int | Compare (const EDA_SHAPE *aOther) const |
| double | Similarity (const EDA_SHAPE &aOther) const |
| bool | operator== (const EDA_SHAPE &aOther) const |
Protected Member Functions | |
| wxString | getFriendlyName () const |
| void | setPosition (const VECTOR2I &aPos) |
| VECTOR2I | getPosition () const |
| virtual void | setFilled (bool aFlag) |
| virtual SHAPE_POLY_SET | getHatchingKnockouts () const |
| void | move (const VECTOR2I &aMoveVector) |
| void | rotate (const VECTOR2I &aRotCentre, const EDA_ANGLE &aAngle) |
| void | flip (const VECTOR2I &aCentre, FLIP_DIRECTION aFlipDirection) |
| void | scale (double aScale) |
| virtual EDA_ANGLE | getDrawRotation () const |
| 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 |
| bool | hitTest (const SHAPE_LINE_CHAIN &aPoly, bool aContained) const |
| const std::vector< VECTOR2I > | buildBezierToSegmentsPointsList (int aMaxError) const |
| void | beginEdit (const VECTOR2I &aStartPoint) |
| bool | continueEdit (const VECTOR2I &aPosition) |
| void | calcEdit (const VECTOR2I &aPosition) |
| void | endEdit (bool aClosed=true) |
| Finish editing the shape. | |
| void | setEditState (int aState) |
| virtual bool | isMoving () const |
| std::vector< SHAPE * > | makeEffectiveShapes (bool aEdgeOnly, bool aLineChainOnly=false, bool aHittesting=false) const |
| Make a set of SHAPE objects representing the EDA_SHAPE. | |
| SHAPE_ELLIPSE | buildShapeEllipse () const |
| void | recalcEllipseArcEndpoints () |
| When m_shape == ELLIPSE_ARC, recompute m_start/m_end from m_ellipse. | |
| virtual int | getMaxError () const |
| SHAPE_POLY_SET & | hatching () const |
| std::vector< SEG > & | hatchLines () const |
Protected Attributes | |
| bool | m_endsSwapped |
| SHAPE_T | m_shape |
| STROKE_PARAMS | m_stroke |
| FILL_T | m_fill |
| COLOR4D | m_fillColor |
| std::unique_ptr< EDA_SHAPE_HATCH_CACHE_DATA > | m_hatchingCache |
| bool | m_hatchingDirty |
| long long int | m_rectangleHeight |
| long long int | m_rectangleWidth |
| int | m_cornerRadius |
| VECTOR2I | m_start |
| VECTOR2I | m_end |
| VECTOR2I | m_arcCenter |
| ARC_MID | m_arcMidData |
| VECTOR2I | m_bezierC1 |
| VECTOR2I | m_bezierC2 |
| std::vector< VECTOR2I > | m_bezierPoints |
| ELLIPSE< int > | m_ellipse |
| std::unique_ptr< SHAPE_POLY_SET > | m_poly |
| int | m_editState |
| bool | m_proxyItem |
Definition at line 33 of file test_eda_shape.cpp.
|
inline |
Definition at line 36 of file test_eda_shape.cpp.
References EDA_SHAPE::EDA_SHAPE(), and NO_FILL.
|
protectedinherited |
Definition at line 2444 of file eda_shape.cpp.
References ANGLE_0, ANGLE_360, SHAPE_LINE_CHAIN::Append(), ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, getMaxError(), GetPolyShape(), GetShape(), m_editState, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), POLY, RebuildBezierToSegmentsPointsList(), RECTANGLE, SEGMENT, SetArcGeometry(), SetBezierC1(), SetBezierC2(), SHAPE_LINE_CHAIN::SetClosed(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), SetEllipseStartAngle(), SetEnd(), SetStart(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::BeginEdit(), and SCH_SHAPE::BeginEdit().
|
protectedinherited |
Definition at line 1173 of file eda_shape.cpp.
References BEZIER_POLY::GetPoly(), m_bezierC1, m_bezierC2, m_end, and m_start.
Referenced by makeEffectiveShapes(), and RebuildBezierToSegmentsPointsList().
|
protectedinherited |
Definition at line 1186 of file eda_shape.cpp.
References ELLIPSE_ARC, m_ellipse, and m_shape.
Referenced by getBoundingBox(), GetLength(), hitTest(), hitTest(), makeEffectiveShapes(), SCH_SHAPE::Plot(), TransformShapeToPolygon(), and UpdateHatching().
Calc arc start and end angles such that aStartAngle < aEndAngle.
Each may be between -360.0 and 360.0.
Definition at line 1308 of file eda_shape.cpp.
References ANGLE_360, getCenter(), GetEnd(), and GetStart().
Referenced by CREEPAGE_GRAPH::Addshape(), computeArcBBox(), KIGFX::PCB_PAINTER::draw(), GetArcAngle(), hitTest(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SegmentIntersectsBoard(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
|
protectedinherited |
Definition at line 2550 of file eda_shape.cpp.
References std::abs(), ANGLE_0, ANGLE_180, ANGLE_360, ANGLE_90, ARC, BEZIER, center, CIRCLE, EDA_ANGLE::Cos(), VECTOR2< T >::Distance(), ELLIPSE, ELLIPSE_ARC, GetArcAngle(), GetEnd(), getMaxError(), GetPointCount(), GetPolyShape(), GetRadius(), GetShape(), GetStart(), KiROUND(), m_arcCenter, m_editState, m_ellipse, m_end, m_start, SHAPE_POLY_SET::Outline(), POLY, RADIANS_T, radius, RebuildBezierToSegmentsPointsList(), RECTANGLE, SEGMENT, SetArcGeometry(), SetBezierC1(), SetBezierC2(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), SetEllipseStartAngle(), SetEnd(), SHAPE_LINE_CHAIN::SetPoint(), SetStart(), SHAPE_T_asString(), EDA_ANGLE::Sin(), sq, VECTOR2< T >::SquaredEuclideanNorm(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_SHAPE::CalcEdit(), and SCH_SHAPE::CalcEdit().
|
inherited |
Definition at line 2902 of file eda_shape.cpp.
References ARC, EDA_ANGLE::AsTenthsOfADegree(), BEZIER, ELLIPSE< NumericType >::Center, SHAPE_POLY_SET::CVertex(), EDA_SHAPE(), ELLIPSE, ELLIPSE_ARC, ELLIPSE< NumericType >::EndAngle, GetArcMid(), STROKE_PARAMS::GetLineStyle(), GetPolyShape(), STROKE_PARAMS::GetWidth(), m_bezierC1, m_bezierC2, m_bezierPoints, m_cornerRadius, m_ellipse, m_end, m_fill, m_shape, m_start, m_stroke, ELLIPSE< NumericType >::MajorRadius, ELLIPSE< NumericType >::MinorRadius, POLY, RECTANGLE, ELLIPSE< NumericType >::Rotation, ELLIPSE< NumericType >::StartAngle, TEST, TEST_E, TEST_PT, and SHAPE_POLY_SET::TotalVertices().
Referenced by SCH_SHAPE::compare(), and BOARD::cmp_drawings::operator()().
|
protectedinherited |
Definition at line 2166 of file eda_shape.cpp.
References ANGLE_0, ANGLE_180, ANGLE_270, ANGLE_90, CalcArcAngles(), GetRadius(), IsAnyFill(), m_arcCenter, m_end, m_start, BOX2< Vec >::Merge(), EDA_ANGLE::Normalize(), radius, and BOX2< Vec >::SetOrigin().
Referenced by getBoundingBox().
|
protectedinherited |
Definition at line 2509 of file eda_shape.cpp.
References SHAPE_LINE_CHAIN::Append(), ARC, BEZIER, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), ELLIPSE, ELLIPSE_ARC, SHAPE_LINE_CHAIN::GetPointCount(), GetPolyShape(), GetShape(), m_editState, SHAPE_POLY_SET::Outline(), POLY, RECTANGLE, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::ContinueEdit(), and SCH_SHAPE::ContinueEdit().
|
overridevirtualinherited |
Deserializes the given protobuf message into this object.
| aContainer | is an Any which should have a concrete type matching this object |
Reimplemented from SERIALIZABLE.
Reimplemented in PCB_SHAPE, PCB_TEXTBOX, SCH_SHAPE, and SCH_TEXTBOX.
Definition at line 340 of file eda_shape.cpp.
References Deserialize(), and pcbIUScale.
Referenced by Deserialize(), PCB_SHAPE::Deserialize(), SCH_SHAPE::Deserialize(), and operator=().
|
inherited |
Definition at line 346 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, DEGREES_T, ELLIPSE, ELLIPSE_ARC, FromProtoEnum(), getMaxError(), m_arcCenter, m_arcMidData, m_bezierC1, m_bezierC2, m_editState, m_end, m_endsSwapped, m_fillColor, m_proxyItem, m_start, m_stroke, POLY, RebuildBezierToSegmentsPointsList(), RECTANGLE, SEGMENT, SetArcGeometry(), SetBezierC1(), SetBezierC2(), SetCornerRadius(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), SetEllipseStartAngle(), SetEnd(), SetFillColor(), SetFillMode(), SetLineStyle(), SetPolyShape(), SetShape(), SetStart(), SetWidth(), kiapi::common::UnpackColor(), kiapi::common::UnpackDistance(), kiapi::common::UnpackPolySet(), kiapi::common::UnpackVector2(), and COLOR4D::UNSPECIFIED.
|
protectedinherited |
Finish editing the shape.
| aClosed | Should polygon shapes be closed (yes for pcbnew/fpeditor, no for libedit). |
Definition at line 2832 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, SHAPE_LINE_CHAIN::CLastPoint(), SHAPE_LINE_CHAIN::CPoint(), ELLIPSE, ELLIPSE_ARC, SHAPE_LINE_CHAIN::GetPointCount(), GetPolyShape(), GetShape(), m_editState, SHAPE_POLY_SET::Outline(), POLY, recalcEllipseArcEndpoints(), RECTANGLE, SHAPE_LINE_CHAIN::Remove(), SEGMENT, SHAPE_LINE_CHAIN::SetClosed(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::EndEdit(), and SCH_SHAPE::EndEdit().
|
inlineinherited |
Have the start and end points been swapped since they were set?
Definition at line 365 of file eda_shape.h.
References m_endsSwapped.
Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
|
protectedinherited |
Definition at line 1108 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, getMaxError(), GetPolyShape(), m_arcCenter, m_bezierC1, m_bezierC2, m_ellipse, m_end, m_hatchingDirty, m_shape, m_start, MIRROR(), SHAPE_POLY_SET::Mirror(), POLY, RebuildBezierToSegmentsPointsList(), recalcEllipseArcEndpoints(), RECTANGLE, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::Flip(), PCB_SHAPE::Mirror(), SCH_SHAPE::MirrorHorizontally(), and SCH_SHAPE::MirrorVertically().
|
inherited |
Definition at line 1399 of file eda_shape.cpp.
References CalcArcAngles().
Referenced by BOARD_ADAPTER::addShape(), BOOST_AUTO_TEST_CASE(), calcEdit(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), GENCAD_EXPORTER::footprintWriteShape(), GetArcMid(), GetLength(), idf_export_outline(), makeEffectiveShapes(), BRDITEMS_PLOTTER::PlotShape(), OUTSET_ROUTINE::ProcessItem(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), ShapeGetMsgPanelInfo(), AR_MATRIX::TracePcbShape(), and CREEPAGE_OVERLAY::Update().
|
inherited |
Definition at line 1295 of file eda_shape.cpp.
References GetArcAngle(), m_arcCenter, m_arcMidData, m_end, m_start, and RotatePoint().
Referenced by PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitive(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), KI_TEST::CheckFpShape(), Compare(), PCB_GRID_HELPER::computeAnchors(), ConnectBoardShapes(), CONVERT_TOOL::CreateLines(), editArcMidKeepEndpoints(), formatArc(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetFocusPosition(), PCB_SHAPE::GetLibraryArcMid(), GRAPH_CONNECTION::GetShapes(), hash_fp_item(), IsClockwiseArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SHAPE::Plot(), processShapeSegment(), CONVERT_TOOL::SegmentToArc(), Serialize(), SetArcGeometry(), PCB_SHAPE::syncLibCoords(), PLOTTER::ThickArc(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), TransformShapeToPolygon(), and ARC_GEOM_SYNCER::updateSME().
|
inlineinherited |
Definition at line 280 of file eda_shape.h.
References m_bezierC1.
Referenced by PAD::AddPrimitive(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KI_TEST::CheckFpShape(), ConnectBoardShapes(), KIGFX::PCB_PAINTER::draw(), PCB_IO_KICAD_SEXPR::format(), formatBezier(), PCB_SHAPE::GetLibraryBezierC1(), hash_fp_item(), BRDITEMS_PLOTTER::PlotShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), Serialize(), GRAPHICS_IMPORTER::setupSplineOrLine(), PCB_SHAPE::syncLibCoords(), TransformShapeToPolygon(), and BEZIER_GEOM_SYNCER::updateBezier().
|
inlineinherited |
Definition at line 283 of file eda_shape.h.
References m_bezierC2.
Referenced by PAD::AddPrimitive(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KI_TEST::CheckFpShape(), ConnectBoardShapes(), KIGFX::PCB_PAINTER::draw(), DRAWING_TOOL::DrawBezier(), PCB_IO_KICAD_SEXPR::format(), formatBezier(), PCB_SHAPE::GetLibraryBezierC2(), hash_fp_item(), BRDITEMS_PLOTTER::PlotShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), Serialize(), GRAPHICS_IMPORTER::setupSplineOrLine(), PCB_SHAPE::syncLibCoords(), TransformShapeToPolygon(), and BEZIER_GEOM_SYNCER::updateBezier().
|
inlineinherited |
Definition at line 404 of file eda_shape.h.
References m_bezierPoints.
Referenced by FEATURES_MANAGER::AddShape(), BOOST_AUTO_TEST_CASE(), BuildCreepageBoardEdges(), KIGFX::PCB_PAINTER::draw(), GRAPHICS_CLEANER::isNullShape(), CONVERT_TOOL::makePolysFromChainedSegs(), processShapeSegment(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), and GRAPHICS_IMPORTER::setupSplineOrLine().
|
inlinevirtualinherited |
Reimplemented in PCB_TEXTBOX.
Definition at line 272 of file eda_shape.h.
References GetEnd().
Referenced by KIGFX::PCB_PAINTER::draw(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), and RECTANGLE_POINT_EDIT_BEHAVIOR::UpdatePoints().
|
protectedinherited |
Definition at line 1542 of file eda_shape.cpp.
References ARC, SHAPE_ELLIPSE::BBox(), BEZIER, buildShapeEllipse(), CIRCLE, computeArcBBox(), ELLIPSE, ELLIPSE_ARC, GetEnd(), GetPolyShape(), GetRadius(), GetRectCorners(), GetStart(), GetWidth(), BOX2< Vec >::Inflate(), m_bezierPoints, m_shape, BOX2< Vec >::Merge(), BOX2< Vec >::Normalize(), POLY, RECTANGLE, SEGMENT, BOX2< Vec >::SetEnd(), BOX2< Vec >::SetOrigin(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::GetBoundingBox(), SCH_SHAPE::GetBoundingBox(), getCenter(), GetCornersInSequence(), hitTest(), and TransformShapeToPolygon().
|
inherited |
Definition at line 1235 of file eda_shape.cpp.
References ARC, BEZIER, BOX2< Vec >::Centre(), CIRCLE, ELLIPSE, ELLIPSE_ARC, getBoundingBox(), m_arcCenter, m_ellipse, m_end, m_shape, m_start, POLY, RECTANGLE, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by CREEPAGE_GRAPH::Addshape(), BOOST_AUTO_TEST_CASE(), CalcArcAngles(), PCB_SHAPE::GetCenter(), SCH_SHAPE::GetCenter(), getPosition(), hitTest(), hitTest(), makeEffectiveShapes(), SCH_SHAPE::Plot(), PLOTTER::ThickArc(), TransformShapeToPolygon(), and UpdateHatching().
|
inherited |
Definition at line 575 of file eda_shape.cpp.
References m_cornerRadius.
Referenced by BOARD_ADAPTER::addShape(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_IO_KICAD_SEXPR::format(), formatRect(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), SegmentIntersectsBoard(), Serialize(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), TransformShapeToPolygon(), UpdateHatching(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdatePoints(), and RECTANGLE_POINT_EDIT_BEHAVIOR::UpdatePoints().
Reimplemented in PCB_TEXTBOX.
Definition at line 2027 of file eda_shape.cpp.
References ANGLE_0, ANGLE_180, ANGLE_270, ANGLE_90, center, BOX2< Vec >::GetBottom(), getBoundingBox(), BOX2< Vec >::GetCenter(), BOX2< Vec >::GetLeft(), GetPolyShape(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetTop(), EDA_ANGLE::IsCardinal(), m_shape, BOX2< Vec >::Normalize(), EDA_ANGLE::Normalize(), SHAPE_POLY_SET::OutlineCount(), RECTANGLE, RotatePoint(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SCH_TABLE::DrawBorders(), and PCB_TEXTBOX::GetCornersInSequence().
|
inlineprotectedvirtualinherited |
|
inlinevirtualinherited |
Reimplemented in SCH_SHAPE.
Definition at line 174 of file eda_shape.h.
References GetWidth().
Referenced by GetHatchLineWidth(), and makeEffectiveShapes().
|
inlineinherited |
Direct read-only access to the underlying ellipse payload.
Useful for copying into a SHAPE_ELLIPSE when building effective collision shapes.
Definition at line 342 of file eda_shape.h.
|
inlineinherited |
Definition at line 292 of file eda_shape.h.
References m_ellipse.
Referenced by PCB_GRID_HELPER::AddConstructionItems(), FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), evalEllipsePoint(), formatEllipse(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), hash_fp_item(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), processShapeSegment(), Serialize(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), ELLIPSE_ARC_GEOM_SYNCER::updateAll(), and ELLIPSE_GEOM_SYNCER::updateAll().
|
inlineinherited |
Definition at line 338 of file eda_shape.h.
References m_ellipse.
Referenced by FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CheckLibSymbolGraphics(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), hash_fp_item(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processShapeSegment(), Serialize(), ShapeGetMsgPanelInfo(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), and ELLIPSE_ARC_GEOM_SYNCER::updateAll().
|
inlineinherited |
Definition at line 301 of file eda_shape.h.
References m_ellipse.
Referenced by FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CheckLibSymbolGraphics(), PCB_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), evalEllipsePoint(), formatEllipse(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), SCH_SHAPE::GetItemDescription(), hash_fp_item(), GRAPHICS_CLEANER::isNullShape(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), processShapeSegment(), Serialize(), ShapeGetMsgPanelInfo(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), ELLIPSE_ARC_GEOM_SYNCER::updateAll(), and ELLIPSE_GEOM_SYNCER::updateAll().
|
inlineinherited |
Definition at line 310 of file eda_shape.h.
References m_ellipse.
Referenced by FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CheckLibSymbolGraphics(), PCB_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), evalEllipsePoint(), formatEllipse(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), SCH_SHAPE::GetItemDescription(), hash_fp_item(), GRAPHICS_CLEANER::isNullShape(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), processShapeSegment(), Serialize(), ShapeGetMsgPanelInfo(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), ELLIPSE_ARC_GEOM_SYNCER::updateAll(), and ELLIPSE_GEOM_SYNCER::updateAll().
|
inlineinherited |
Definition at line 319 of file eda_shape.h.
References m_ellipse.
Referenced by FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), evalEllipsePoint(), formatEllipse(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), hash_fp_item(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), processShapeSegment(), Serialize(), ShapeGetMsgPanelInfo(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), ELLIPSE_ARC_GEOM_SYNCER::updateAll(), and ELLIPSE_GEOM_SYNCER::updateAll().
|
inlineinherited |
Definition at line 329 of file eda_shape.h.
References m_ellipse.
Referenced by FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), CheckLibSymbolGraphics(), CONVERT_TOOL::CreateLines(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), formatEllipseArc(), PCB_SHAPE::GetConnectionPoints(), hash_fp_item(), FOOTPRINT::cmp_drawings::operator()(), BRDITEMS_PLOTTER::PlotShape(), processShapeSegment(), Serialize(), ShapeGetMsgPanelInfo(), shapeNeedsUpdate(), PCB_SHAPE::syncLibCoords(), and ELLIPSE_ARC_GEOM_SYNCER::updateAll().
|
inlineinherited |
Return the ending point of the graphic.
Definition at line 240 of file eda_shape.h.
References m_end.
Referenced by PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), PAD::AddPrimitive(), FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), AssertOutlineValid(), PCB_IO_KICAD_SEXPR_PARSER::bakeTextBoxLib(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), buildChainedClosedContour(), CalcArcAngles(), calcEdit(), KI_TEST::CheckFpShape(), CheckLibSymbolGraphics(), PCB_GRID_HELPER::computeAnchors(), ConnectBoardShapes(), PCB_EDIT_TABLE_TOOL::copyCell(), SCH_EDIT_TABLE_TOOL::copyCell(), CONVERT_TOOL::CreateLines(), doConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawLine(), KI_ARC_EDIT::EditArcEndpointKeepCenter(), editArcEndpointKeepTangent(), GENCAD_EXPORTER::footprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), formatArc(), formatBezier(), formatRect(), GetBotRight(), PCB_TEXTBOX::GetBotRight(), getBoundingBox(), PCB_SHAPE::GetConnectionPoints(), GetLength(), PCB_TABLECELL::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), SCH_TABLECELL::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), GetSegmentAngle(), GRAPH_CONNECTION::GetShapes(), SCH_TABLECELL::GetShownText(), SCH_TEXTBOX::GetShownText(), CONVERT_TOOL::getStartEndPoints(), PCB_TEXTBOX::GetTopLeft(), hash_fp_item(), hitTest(), hitTest(), idf_export_outline(), SCH_SHAPE::IsEndPoint(), GRAPHICS_CLEANER::isNullShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_EAGLE::loadSymbolRectangle(), makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), GRAPHICS_CLEANER::mergeRects(), EDIT_TOOL::ModifyLines(), PCB_SHAPE::Normalize(), PCB_TABLE::Normalize(), SCH_SHAPE::Normalize(), SCH_TABLE::Normalize(), PCB_SHAPE::NormalizeForCompare(), SCH_EDITOR_CONTROL::Paste(), BRDITEMS_PLOTTER::PlotShape(), OUTSET_ROUTINE::ProcessItem(), DOGBONE_CORNER_ROUTINE::ProcessLinePair(), LINE_CHAMFER_ROUTINE::ProcessLinePair(), LINE_EXTENSION_ROUTINE::ProcessLinePair(), LINE_FILLET_ROUTINE::ProcessLinePair(), processShapeSegment(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SegmentIntersectsBoard(), PCB_SELECTION_TOOL::selectAllConnectedShapes(), Serialize(), PCB_TEXTBOX::Serialize(), SCH_TEXTBOX::Serialize(), GRAPHICS_IMPORTER::setupSplineOrLine(), ShapeGetMsgPanelInfo(), PCB_SHAPE::syncLibCoords(), PLOTTER::ThickArc(), AR_MATRIX::TracePcbShape(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), TransformShapeToPolygon(), CREEPAGE_OVERLAY::Update(), BEZIER_GEOM_SYNCER::updateBezier(), CIRCLE_GEOM_SYNCER::updateCenterPoint(), RECTANGLE_GEOM_SYNCER::updateCorners(), LINE_GEOM_SYNCER::updateEnds(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdatePoints(), LINE_GEOM_SYNCER::updatePolar(), and ARC_GEOM_SYNCER::updateSME().
|
inlineinherited |
Definition at line 242 of file eda_shape.h.
References m_end.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_TEXTBOX::GetBotRight(), GetRectangleWidth(), PCB_TEXTBOX::GetTopLeft(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 241 of file eda_shape.h.
References m_end.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_TEXTBOX::GetBotRight(), GetRectangleHeight(), PCB_TEXTBOX::GetTopLeft(), and DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run().
|
inlineinherited |
Definition at line 169 of file eda_shape.h.
References m_fillColor.
Referenced by SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SCH_DRAWING_TOOLS::DrawShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_IO_ALTIUM::ParsePolygon(), SCH_RULE_AREA::Plot(), SCH_SHAPE::Plot(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SCH_TABLECELL_DESC::SCH_TABLECELL_DESC(), SCH_TEXTBOX::Serialize(), and DIALOG_TEXT_PROPERTIES::TransferDataToWindow().
|
inlineinherited |
Definition at line 158 of file eda_shape.h.
References m_fill.
Referenced by PCB_IO_IPC2581::addShape(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), KI_TEST::CheckFpShape(), DIPTRACE_SCH_IMPORT_FIXTURE::CountFilledPolysForRefdes(), DIPTRACE_SCH_IMPORT_FIXTURE::CountOpenPolysWithPointCountForRefdes(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), KIGFX::SCH_PAINTER::draw(), SCH_DRAWING_TOOLS::DrawShape(), LIB_SYMBOL::FixupDrawItems(), fixupSchFillMode(), PCB_IO_KICAD_SEXPR::format(), KIGFX::SCH_PAINTER::getRenderColor(), hash_fp_item(), IsAnyFill(), IsHatchedFill(), IsSolidFill(), CONVERT_TOOL::makePolysFromClosedGraphics(), SCH_IO_ALTIUM::ParsePolygon(), POLYGON_BOOLEAN_ROUTINE::ProcessShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SCH_SHAPE_DESC::SCH_SHAPE_DESC(), Serialize(), SCH_TEXTBOX::Serialize(), shapeNeedsUpdate(), and UpdateHatching().
|
inherited |
Definition at line 694 of file eda_shape.cpp.
References CROSS_HATCH, HATCH, m_fill, NO_FILL, NONE, REVERSE_HATCH, and SOLID.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
protectedinherited |
Definition at line 1442 of file eda_shape.cpp.
References _, ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, IsProxyItem(), m_shape, POLY, RECTANGLE, and SEGMENT.
Referenced by PCB_SHAPE::GetFriendlyName(), and ShapeGetMsgPanelInfo().
|
inherited |
Definition at line 707 of file eda_shape.cpp.
References m_hatchingCache.
Referenced by FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), EXPORTER_STEP::buildGraphic3DShape(), hitTest(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), TransformShapeToPolygon(), and UpdateHatching().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 528 of file eda_shape.h.
Referenced by UpdateHatching().
|
inherited |
Definition at line 716 of file eda_shape.cpp.
References m_hatchingCache.
Referenced by KIGFX::PCB_PAINTER::draw(), and KIGFX::SCH_PAINTER::draw().
|
inlinevirtualinherited |
Reimplemented in SCH_SHAPE.
Definition at line 176 of file eda_shape.h.
References GetHatchLineWidth().
Referenced by PCB_SHAPE::getHatchingKnockouts(), and UpdateHatching().
|
inlinevirtualinherited |
Reimplemented in SCH_SHAPE.
Definition at line 175 of file eda_shape.h.
References GetEffectiveWidth().
Referenced by KIGFX::PCB_PAINTER::draw(), GetHatchLineSpacing(), and UpdateHatching().
|
inherited |
Definition at line 513 of file eda_shape.cpp.
References ARC, EDA_ANGLE::AsRadians(), BEZIER, buildShapeEllipse(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CSegment(), VECTOR2< T >::Distance(), ELLIPSE, ELLIPSE_ARC, GetArcAngle(), GetEnd(), SHAPE_ELLIPSE::GetLength(), GetPolyShape(), GetRadius(), GetStart(), SEG::Length(), m_bezierPoints, m_shape, POLY, SEGMENT, SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), DRAWING_TOOL::drawShape(), DOGBONE_CORNER_ROUTINE::ProcessLinePair(), LINE_CHAMFER_ROUTINE::ProcessLinePair(), LINE_EXTENSION_ROUTINE::ProcessLinePair(), LINE_FILLET_ROUTINE::ProcessLinePair(), ShapeGetMsgPanelInfo(), and PCB_CONTROL::UpdateMessagePanel().
|
inlineinherited |
Definition at line 182 of file eda_shape.h.
References m_stroke.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
inherited |
Definition at line 3187 of file eda_shape.cpp.
References DEFAULT, m_stroke, and SOLID.
Referenced by EXPORTER_STEP::buildGraphic3DShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), hash_fp_item(), PCB_TEXTBOX_DESC::PCB_TEXTBOX_DESC(), and SCH_TEXTBOX::Serialize().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_SHAPE, and SCH_SHAPE.
Definition at line 584 of file eda_shape.h.
Referenced by beginEdit(), calcEdit(), Deserialize(), flip(), hitTest(), hitTest(), makeEffectiveShapes(), RebuildBezierToSegmentsPointsList(), rotate(), scale(), and UpdateHatching().
|
inherited |
Definition at line 2436 of file eda_shape.cpp.
References GetPolyShape(), SHAPE_POLY_SET::OutlineCount(), and SHAPE_POLY_SET::VertexCount().
Referenced by calcEdit(), SCH_SHAPE::GetItemDescription(), GRAPHICS_CLEANER::isNullShape(), and SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic().
|
inherited |
Duplicate the polygon outlines into a flat list of VECTOR2I points.
Outlines (and holes) are appended in order; primarily intended for legacy callers that expect explicit point buffers rather than SHAPE objects.
Definition at line 2390 of file eda_shape.cpp.
References SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CPoints(), GetPolyShape(), SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by AssertOutlineValid(), PCB_GRID_HELPER::computeAnchors(), SCH_SHAPE::IsEndPoint(), SCH_SCREEN::MarkConnections(), SegmentIntersectsBoard(), and CREEPAGE_GRAPH::TransformEdgeToCreepShapes().
|
inherited |
Definition at line 2412 of file eda_shape.cpp.
References m_poly.
Referenced by PCB_POINT_EDITOR::addCorner(), SCH_POINT_EDITOR::addCorner(), SCH_SHAPE::AddPoint(), PAD::AddPrimitive(), FEATURES_MANAGER::AddShape(), PCB_IO_IPC2581::addShape(), PCB_IO_KICAD_SEXPR_PARSER::bakeTextBoxLib(), beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), calcEdit(), PCB_POINT_EDITOR::chamferCorner(), KI_TEST::CheckFpShape(), Compare(), continueEdit(), DIPTRACE_SCH_IMPORT_FIXTURE::CountOpenPolysWithPointCountForRefdes(), DIPTRACE_SCH_IMPORT_FIXTURE::CountSheetGraphicLines(), CONVERT_TOOL::CreateLines(), endEdit(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), flip(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), formatPoly(), getBoundingBox(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetCorners(), GetCornersInSequence(), PCB_SHAPE::GetFocusPosition(), SCH_SHAPE::GetItemDescription(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), GetLength(), PCB_SHAPE::GetLibraryPolyShape(), SCH_RULE_AREA::GetMsgPanelInfo(), GetPointCount(), GetPolyPoints(), getPosition(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), hash_fp_item(), hitTest(), hitTest(), IsClosed(), IsPolyShapeValid(), SCH_IO_EAGLE::loadSymbolPolyLine(), SCH_RULE_AREA::MakeEffectiveShapes(), makeEffectiveShapes(), EDIT_TOOL::ModifyLines(), move(), PCB_SHAPE::Normalize(), operator==(), PCB_IO_EAGLE::packagePolygon(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), PCB_IO_KICAD_SEXPR_PARSER::parseTextBoxContent(), SCH_EDITOR_CONTROL::Paste(), SCH_RULE_AREA::Plot(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), POLYGON_BOOLEAN_ROUTINE::ProcessShape(), PCB_SHAPE::rebakeFromTransform(), SCHEMATIC::RecalculateConnections(), SCH_RULE_AREA::RefreshContainedItemsAndDirectives(), PCB_POINT_EDITOR::removeCorner(), SCH_POINT_EDITOR::removeCorner(), SCH_POINT_EDITOR::removeCornerCondition(), rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), scale(), Serialize(), SetPolyPoints(), SetPolyShape(), ShapeGetMsgPanelInfo(), Similarity(), PCB_SHAPE::syncLibCoords(), TransformShapeToPolygon(), PCB_TEXTBOX::TransformShapeToPolygon(), and UpdateHatching().
|
inherited |
Definition at line 2420 of file eda_shape.cpp.
References m_poly.
|
protectedinherited |
Definition at line 502 of file eda_shape.cpp.
References ARC, SHAPE_POLY_SET::CVertex(), ELLIPSE, ELLIPSE_ARC, getCenter(), GetPolyShape(), m_shape, m_start, and POLY.
Referenced by PCB_SHAPE::GetPosition(), SCH_SHAPE::GetPosition(), setPosition(), and UpdateHatching().
|
inherited |
Definition at line 1324 of file eda_shape.cpp.
References ARC, CIRCLE, KiROUND(), m_arcCenter, m_end, m_shape, m_start, radius, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_GRID_HELPER::AddConstructionItems(), FEATURES_MANAGER::AddShape(), CREEPAGE_GRAPH::Addshape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), calcEdit(), CheckLibSymbolGraphics(), computeArcBBox(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), editArcEndpointKeepCenterAndRadius(), formatCircle(), getBoundingBox(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetFocusPosition(), SCH_SHAPE::GetItemDescription(), GetLength(), hash_fp_item(), hitTest(), hitTest(), idf_export_outline(), GRAPHICS_CLEANER::isNullShape(), makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), CONVERT_TOOL::makePolysFromClosedGraphics(), ALTIUM_PCB::Parse(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), POLYGON_BOOLEAN_ROUTINE::ProcessShape(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SegmentIntersectsBoard(), SetLibShapeFillAndColor(), SetSchShapeFillAndColor(), ShapeGetMsgPanelInfo(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), TransformShapeToPolygon(), CREEPAGE_OVERLAY::Update(), and UpdateHatching().
|
inherited |
Definition at line 547 of file eda_shape.cpp.
References GetEndY(), GetStartY(), m_shape, RECTANGLE, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_IO_IPC2581::addLocationNode(), FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), ODB::GetShapePosition(), hitTest(), hitTest(), makeEffectiveShapes(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), rotate(), SetCornerRadius(), TransformShapeToPolygon(), and UpdateHatching().
|
inherited |
Definition at line 561 of file eda_shape.cpp.
References GetEndX(), GetStartX(), m_shape, RECTANGLE, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by PCB_IO_IPC2581::addLocationNode(), FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), KIGFX::PCB_PAINTER::draw(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), ODB::GetShapePosition(), hitTest(), hitTest(), makeEffectiveShapes(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), rotate(), SetCornerRadius(), TransformShapeToPolygon(), and UpdateHatching().
|
inherited |
Definition at line 2012 of file eda_shape.cpp.
References GetEnd(), GetStart(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), KIGFX::PCB_PAINTER::draw(), getBoundingBox(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetCorners(), hitTest(), hitTest(), SCH_SHAPE::IsEndPoint(), makeEffectiveShapes(), SCH_SCREEN::MarkConnections(), SCH_EDITOR_CONTROL::Paste(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), POLYGON_BOOLEAN_ROUTINE::ProcessShape(), TransformShapeToPolygon(), and PCB_TEXTBOX::TransformShapeToPolygon().
|
inherited |
Definition at line 1390 of file eda_shape.cpp.
References GetEnd(), GetStart(), and RADIANS_T.
|
inlineinherited |
Definition at line 185 of file eda_shape.h.
References m_shape.
Referenced by PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), SCH_POINT_EDITOR::addCornerCondition(), PCB_IO_IPC2581::addLocationNode(), PCB_IO_IPC2581::addPackage(), SCH_SHAPE::AddPoint(), PAD::AddPrimitive(), FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), AssertOutlineValid(), PCB_IO_KICAD_SEXPR_PARSER::bakeTextBoxLib(), beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BuildCreepageBoardEdges(), buildFilledPolygonFromShapes(), calcEdit(), PCB_POINT_EDITOR::CanAddCorner(), PCB_POINT_EDITOR::CanChamferCorner(), PCB_POINT_EDITOR::chamferCorner(), CHECK_SHAPE_LIBPOS_MIRROR(), KI_TEST::CheckFpShape(), CheckLibSymbolGraphics(), PCB_GRID_HELPER::computeAnchors(), ConnectBoardShapes(), continueEdit(), DIPTRACE_SCH_IMPORT_FIXTURE::CountFilledPolysForRefdes(), DIPTRACE_SCH_IMPORT_FIXTURE::CountOpenPolysWithPointCountForRefdes(), DIPTRACE_SCH_IMPORT_FIXTURE::CountSheetGraphicLines(), DIPTRACE_SCH_IMPORT_FIXTURE::CountSymbolShapes(), CONVERT_TOOL::CreateLines(), doConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), EDA_BEZIER_POINT_EDIT_BEHAVIOR::EDA_BEZIER_POINT_EDIT_BEHAVIOR(), EDA_CIRCLE_POINT_EDIT_BEHAVIOR::EDA_CIRCLE_POINT_EDIT_BEHAVIOR(), EDA_ELLIPSE_POINT_EDIT_BEHAVIOR::EDA_ELLIPSE_POINT_EDIT_BEHAVIOR(), EDA_POLYGON_POINT_EDIT_BEHAVIOR::EDA_POLYGON_POINT_EDIT_BEHAVIOR(), EDA_SEGMENT_POINT_EDIT_BEHAVIOR::EDA_SEGMENT_POINT_EDIT_BEHAVIOR(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), EDA_TABLECELL_POINT_EDIT_BEHAVIOR::EDA_TABLECELL_POINT_EDIT_BEHAVIOR(), endEdit(), PAD_TOOL::explodePad(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), EDIT_TOOL::Flip(), GENCAD_EXPORTER::footprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), GetBoardItemWidth(), PCB_SHAPE::GetCorners(), FOOTPRINT::GetCoverageArea(), SCH_SHAPE::GetItemDescription(), SCH_SHAPE::GetMenuImage(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), ODB::GetShapePosition(), CONVERT_TOOL::getStartEndPoints(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), hash_fp_item(), idf_export_outline(), SCH_SHAPE::IsEndPoint(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), GRAPHICS_CLEANER::isNullShape(), itemHasEditableCorners(), DSN::SPECCTRA_DB::makeIMAGE(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), PCB_POINT_EDITOR::makePoints(), SCH_POINT_EDITOR::makePointsAndBehavior(), CONVERT_TOOL::makePolysFromClosedGraphics(), SCH_SCREEN::MarkConnections(), GRAPHICS_CLEANER::mergeRects(), ITEM_MODIFICATION_ROUTINE::ModifyLineOrDeleteIfZeroLength(), EDIT_TOOL::ModifyLines(), SCH_SHAPE::Normalize(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_VERTEX_EDITOR_PANE::OnSelectionChanged(), FOOTPRINT::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), operator==(), ALTIUM_PCB::Parse(), SCH_EDITOR_CONTROL::Paste(), SCH_RULE_AREA::Plot(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), POLYGON_BOOLEAN_ROUTINE::ProcessShape(), processShapeSegment(), PCB_POINT_EDITOR::removeCorner(), EDIT_TOOL::Rotate(), SCH_ELLIPSE_FIXTURE::RoundTrip(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::SaveSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SegmentIntersectsBoard(), CONVERT_TOOL::SegmentToArc(), Serialize(), PCB_SHAPE::SetIsProxyItem(), SetLibShapeFillAndColor(), SetSchShapeFillAndColor(), shapeNeedsUpdate(), Similarity(), PCB_TEXTBOX::syncLibCoords(), AR_MATRIX::TracePcbShape(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), PCB_TEXTBOX::TransformShapeToPolygon(), CREEPAGE_OVERLAY::Update(), PCB_CONTROL::UpdateMessagePanel(), and updateSegmentFromGeometryMgr().
|
inlineinherited |
Return the starting point of the graphic.
Definition at line 190 of file eda_shape.h.
References m_start.
Referenced by PCB_GRID_HELPER::AddConstructionItems(), PCB_POINT_EDITOR::addCorner(), PCB_IO_IPC2581::addPadStack(), PAD::AddPrimitive(), FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), PCB_IO_IPC2581::addShape(), GRAPHICS_CLEANER::areEquivalent(), AssertOutlineValid(), PCB_IO_KICAD_SEXPR_PARSER::bakeTextBoxLib(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), buildChainedClosedContour(), CalcArcAngles(), calcEdit(), CHECK_ALL_COINCIDENT(), KI_TEST::CheckFpShape(), PCB_GRID_HELPER::computeAnchors(), ConnectBoardShapes(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), PCB_EDIT_TABLE_TOOL::copyCell(), SCH_EDIT_TABLE_TOOL::copyCell(), CONVERT_TOOL::CreateLines(), doConvertOutlineToPolygon(), KIGFX::PCB_PAINTER::draw(), KI_ARC_EDIT::EditArcEndpointKeepCenter(), editArcEndpointKeepCenterAndRadius(), editArcEndpointKeepTangent(), GENCAD_EXPORTER::footprintWriteShape(), PCB_IO_KICAD_SEXPR::format(), formatArc(), formatBezier(), formatCircle(), formatRect(), PCB_TEXTBOX::GetBotRight(), getBoundingBox(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetFocusPosition(), GetLength(), PCB_TABLECELL::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), SCH_TABLECELL::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), GetRectCorners(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), GetSegmentAngle(), GRAPH_CONNECTION::GetShapes(), SCH_TABLECELL::GetShownText(), SCH_TEXTBOX::GetShownText(), CONVERT_TOOL::getStartEndPoints(), GetTopLeft(), PCB_TEXTBOX::GetTopLeft(), hash_fp_item(), hitTest(), hitTest(), idf_export_outline(), SCH_SHAPE::IsEndPoint(), GRAPHICS_CLEANER::isNullShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), makeEffectiveShapes(), DSN::SPECCTRA_DB::makeIMAGE(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), GRAPHICS_CLEANER::mergeRects(), EDIT_TOOL::ModifyLines(), PCB_SHAPE::Normalize(), PCB_SHAPE::NormalizeForCompare(), SCH_IO_ALTIUM::ParseEllipse(), SCH_EDITOR_CONTROL::Paste(), BRDITEMS_PLOTTER::PlotPcbTarget(), BRDITEMS_PLOTTER::PlotShape(), processClosedShape(), OUTSET_ROUTINE::ProcessItem(), DOGBONE_CORNER_ROUTINE::ProcessLinePair(), LINE_CHAMFER_ROUTINE::ProcessLinePair(), LINE_EXTENSION_ROUTINE::ProcessLinePair(), LINE_FILLET_ROUTINE::ProcessLinePair(), processShapeSegment(), rotate(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SegmentIntersectsBoard(), PCB_SELECTION_TOOL::selectAllConnectedShapes(), Serialize(), GRAPHICS_IMPORTER::setupSplineOrLine(), ShapeGetMsgPanelInfo(), PCB_SHAPE::syncLibCoords(), PLOTTER::ThickArc(), AR_MATRIX::TracePcbShape(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), CREEPAGE_GRAPH::TransformEdgeToCreepShapes(), TransformShapeToPolygon(), CREEPAGE_OVERLAY::Update(), BEZIER_GEOM_SYNCER::updateBezier(), RECTANGLE_GEOM_SYNCER::updateCorners(), RECTANGLE_GEOM_SYNCER::updateCornerSize(), ARC_GEOM_SYNCER::updateCSA(), LINE_GEOM_SYNCER::updateEnds(), LINE_GEOM_SYNCER::updatePolar(), ARC_GEOM_SYNCER::updateSME(), and LINE_GEOM_SYNCER::updateStartMidpoint().
|
inlineinherited |
Definition at line 192 of file eda_shape.h.
References m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_TEXTBOX::GetBotRight(), GetRectangleWidth(), PCB_TEXTBOX::GetTopLeft(), SCH_SHAPE::Normalize(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and SetRectangleWidth().
|
inlineinherited |
Definition at line 191 of file eda_shape.h.
References m_start.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), PCB_TEXTBOX::GetBotRight(), GetRectangleHeight(), PCB_TEXTBOX::GetTopLeft(), SCH_SHAPE::Normalize(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and SetRectangleHeight().
|
inlinevirtualinherited |
Reimplemented in PCB_TEXTBOX.
Definition at line 271 of file eda_shape.h.
References GetStart().
Referenced by KIGFX::PCB_PAINTER::draw(), RECTANGLE_POINT_EDIT_BEHAVIOR::MakePoints(), and RECTANGLE_POINT_EDIT_BEHAVIOR::UpdatePoints().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 173 of file eda_shape.h.
References m_stroke.
Referenced by BOOST_AUTO_TEST_CASE(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), getBoundingBox(), GetEffectiveWidth(), SCH_TEXTBOX::GetLegacyTextMargin(), PCB_SHAPE::GetWidth(), hitTest(), hitTest(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), Serialize(), SCH_TEXTBOX::Serialize(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), and TransformShapeToPolygon().
|
protectedinherited |
Definition at line 725 of file eda_shape.cpp.
References m_hatchingCache.
Referenced by UpdateHatching().
|
protectedinherited |
Definition at line 734 of file eda_shape.cpp.
References m_hatchingCache.
Referenced by UpdateHatching().
|
protectedinherited |
Definition at line 1790 of file eda_shape.cpp.
References ARC, BEZIER, buildShapeEllipse(), chain, CIRCLE, BOX2< Vec >::Contains(), SHAPE_ELLIPSE::ConvertToPolyline(), ELLIPSE, ELLIPSE_ARC, getBoundingBox(), getCenter(), GetEnd(), getMaxError(), BEZIER_POLY::GetPoly(), GetPolyShape(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), GetRectCorners(), GetStart(), GetWidth(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), BOX2< Vec >::IntersectsCircleEdge(), IsAnyFill(), m_bezierC1, m_bezierC2, m_bezierPoints, m_cornerRadius, m_end, m_shape, m_start, BOX2< Vec >::Normalize(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), POLY, RECTANGLE, SEGMENT, SHAPE_T_asString(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
|
protectedinherited |
Definition at line 2004 of file eda_shape.cpp.
References MakeEffectiveShapes(), and KIGEOM::ShapeHitTest().
|
protectedinherited |
Definition at line 1600 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), ARC, BEZIER, buildShapeEllipse(), CalcArcAngles(), CIRCLE, Collide(), SHAPE_POLY_SET::Collide(), SHAPE_POLY_SET::CollideEdge(), copy, VECTOR2< T >::Distance(), ELLIPSE, ELLIPSE_ARC, VECTOR2< T >::EuclideanNorm(), getCenter(), GetEnd(), GetHatching(), getMaxError(), BEZIER_POLY::GetPoly(), GetPolyShape(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), GetRectCorners(), GetStart(), GetWidth(), IsClosed(), IsFilledForHitTesting(), IsHatchedFill(), IsProxyItem(), m_bezierC1, m_bezierC2, m_bezierPoints, m_cornerRadius, m_end, m_shape, m_start, SHAPE_POLY_SET::NewOutline(), EDA_ANGLE::Normalize(), POLY, radius, RECTANGLE, SEGMENT, SHAPE_T_asString(), SHAPE_ELLIPSE::SquaredDistance(), TestSegmentHit(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::HitTest(), PCB_SHAPE::HitTest(), PCB_SHAPE::HitTest(), SCH_SHAPE::HitTest(), and SCH_SHAPE::HitTest().
|
inlineinherited |
Definition at line 128 of file eda_shape.h.
References GetFillMode(), and NO_FILL.
Referenced by computeArcBBox(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), FOOTPRINT::GetCoverageArea(), PCB_SHAPE::GetFocusPosition(), hitTest(), PAD::Recombine(), and PCB_SELECTION_TOOL::Selectable().
|
inherited |
Definition at line 1410 of file eda_shape.cpp.
References ARC, GetArcMid(), m_end, m_shape, m_start, SHAPE_T_asString(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by FEATURES_MANAGER::AddShape(), and PCB_IO_IPC2581::addShape().
|
inherited |
Definition at line 643 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, GetPolyShape(), SHAPE_LINE_CHAIN::IsClosed(), m_bezierPoints, m_shape, SHAPE_POLY_SET::Outline(), POLY, RECTANGLE, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by SCH_POINT_EDITOR::addCorner(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), hitTest(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), CONVERT_TOOL::makePolysFromClosedGraphics(), CONVERT_TOOL::makePolysFromOpenGraphics(), and UpdateHatching().
|
inlinevirtualinherited |
Reimplemented in PCB_TABLECELL, SCH_RULE_AREA, and SCH_TABLECELL.
Definition at line 147 of file eda_shape.h.
References IsSolidFill().
Referenced by SCH_SELECTION_TOOL::GuessSelectionCandidates(), hitTest(), and makeEffectiveShapes().
|
inlineinherited |
Definition at line 140 of file eda_shape.h.
References CROSS_HATCH, GetFillMode(), HATCH, and REVERSE_HATCH.
Referenced by FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), BOOST_AUTO_TEST_CASE(), EXPORTER_STEP::buildGraphic3DShape(), KIGFX::PCB_PAINTER::draw(), EDIT_TOOL::Duplicate(), hitTest(), makeEffectiveShapes(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), PCB_CONTROL::rehatchBoardItem(), and TransformShapeToPolygon().
|
inlineprotectedvirtualinherited |
Reimplemented in PCB_SHAPE, and SCH_SHAPE.
Definition at line 562 of file eda_shape.h.
Referenced by UpdateHatching().
|
inherited |
Definition at line 2429 of file eda_shape.cpp.
References GetPolyShape(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), and SHAPE_LINE_CHAIN::PointCount().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_IO_KICAD_SEXPR::format(), BRDITEMS_PLOTTER::PlotShape(), and TransformShapeToPolygon().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 125 of file eda_shape.h.
References IsProxyItem(), and m_proxyItem.
Referenced by getFriendlyName(), hitTest(), IsProxyItem(), makeEffectiveShapes(), ShowShape(), and TransformShapeToPolygon().
|
inlineinherited |
Definition at line 133 of file eda_shape.h.
References FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, FILLED_WITH_COLOR, and GetFillMode().
Referenced by FEATURES_MANAGER::AddShape(), BOARD_ADAPTER::addShape(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::draw(), GetBoardItemWidth(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetSolderMaskExpansion(), IsFilledForHitTesting(), SCH_RULE_AREA::MakeEffectiveShapes(), makeEffectiveShapes(), BRDITEMS_PLOTTER::PlotShape(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), SCH_TABLECELL_DESC::SCH_TABLECELL_DESC(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), and TransformShapeToPolygon().
|
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 SCH_RULE_AREA, and SCH_SHAPE.
Definition at line 462 of file eda_shape.h.
References makeEffectiveShapes().
Referenced by BOARD_ADAPTER::addShape(), BOOST_AUTO_TEST_CASE(), EXPORTER_STEP::buildGraphic3DShape(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), PCB_SHAPE::GetEffectiveShape(), hitTest(), BRDITEMS_PLOTTER::PlotShape(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), and PNS_KICAD_IFACE_BASE::syncGraphicalItem().
|
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 2226 of file eda_shape.cpp.
References ANGLE_360, ARC, SHAPE_LINE_CHAIN::Arc(), SHAPE_LINE_CHAIN::ArcIndex(), BEZIER, buildBezierToSegmentsPointsList(), buildShapeEllipse(), chain, CIRCLE, SHAPE_ELLIPSE::ConvertToPolyline(), SHAPE_POLY_SET::COutline(), SHAPE_LINE_CHAIN::CSegment(), ELLIPSE, ELLIPSE_ARC, GetArcAngle(), getCenter(), GetEffectiveWidth(), GetEnd(), getMaxError(), GetPolyShape(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), GetRectCorners(), GetStart(), SHAPE_LINE_CHAIN::IsArcSegment(), SHAPE_LINE_CHAIN::IsClosed(), IsFilledForHitTesting(), IsHatchedFill(), IsProxyItem(), IsSolidFill(), m_arcCenter, m_cornerRadius, m_end, m_shape, m_start, SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), POLY, RECTANGLE, SEGMENT, SHAPE_LINE_CHAIN::Segment(), SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_T_asString(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
Referenced by MakeEffectiveShapes(), SCH_SHAPE::MakeEffectiveShapes(), and MakeEffectiveShapesForHitTesting().
|
inlinevirtualinherited |
Definition at line 467 of file eda_shape.h.
References makeEffectiveShapes().
Referenced by SCH_SELECTION_TOOL::GuessSelectionCandidates(), and PCB_SELECTION_TOOL::hitTestDistance().
|
protectedinherited |
Definition at line 907 of file eda_shape.cpp.
References SEG::A, ARC, SEG::B, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, GetPolyShape(), KI_FALLTHROUGH, m_arcCenter, m_arcMidData, m_bezierC1, m_bezierC2, m_bezierPoints, m_ellipse, m_end, m_hatchingCache, m_hatchingDirty, m_shape, m_start, SHAPE_POLY_SET::Move(), POLY, RECTANGLE, SEGMENT, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by SCH_TEXTBOX::Move().
|
inherited |
Definition at line 3196 of file eda_shape.cpp.
References ARC, BEZIER, ELLIPSE< NumericType >::Center, CIRCLE, SHAPE_POLY_SET::CVertex(), EDA_SHAPE(), ELLIPSE, ELLIPSE_ARC, ELLIPSE< NumericType >::EndAngle, STROKE_PARAMS::GetLineStyle(), GetPolyShape(), GetShape(), STROKE_PARAMS::GetWidth(), m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_ellipse, m_end, m_fill, m_fillColor, m_shape, m_start, m_stroke, ELLIPSE< NumericType >::MajorRadius, ELLIPSE< NumericType >::MinorRadius, POLY, RECTANGLE, ELLIPSE< NumericType >::Rotation, SEGMENT, ELLIPSE< NumericType >::StartAngle, and SHAPE_POLY_SET::TotalVertices().
Referenced by PCB_SHAPE::operator==(), and SCH_SHAPE::operator==().
|
inlineinherited |
Definition at line 452 of file eda_shape.h.
References getMaxError(), and RebuildBezierToSegmentsPointsList().
Referenced by beginEdit(), calcEdit(), Deserialize(), flip(), PCB_SHAPE::rebakeFromTransform(), RebuildBezierToSegmentsPointsList(), and scale().
|
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 max deviation between the polyline and the curve. |
Definition at line 1159 of file eda_shape.cpp.
References BEZIER, buildBezierToSegmentsPointsList(), m_bezierPoints, and m_shape.
Referenced by SCH_IO_GEDA::addSymbolGraphic(), BOOST_AUTO_TEST_CASE(), BuildCreepageBoardEdges(), GRAPHICS_CLEANER::isNullShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), processShapeSegment(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), and GRAPHICS_IMPORTER::setupSplineOrLine().
|
protectedinherited |
When m_shape == ELLIPSE_ARC, recompute m_start/m_end from m_ellipse.
No-op for other shapes.
Definition at line 1196 of file eda_shape.cpp.
References ELLIPSE, ELLIPSE_ARC, KiROUND(), m_arcCenter, m_editState, m_ellipse, m_end, m_shape, and m_start.
Referenced by endEdit(), flip(), rotate(), scale(), SetCenter(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), and SetEllipseStartAngle().
Definition at line 1035 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, getMaxError(), GetPolyShape(), GetRectangleHeight(), GetRectangleWidth(), GetStart(), EDA_ANGLE::IsCardinal(), m_arcCenter, m_arcMidData, m_bezierC1, m_bezierC2, m_bezierPoints, m_cornerRadius, m_ellipse, m_end, m_hatchingDirty, m_shape, m_start, POLY, recalcEllipseArcEndpoints(), RECTANGLE, SHAPE_POLY_SET::Rotate(), RotatePoint(), SEGMENT, SetShape(), SHAPE_T_asString(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::Rotate(), and SCH_SHAPE::Rotate().
|
protectedinherited |
Definition at line 971 of file eda_shape.cpp.
References std::abs(), ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, getMaxError(), GetPolyShape(), KI_FALLTHROUGH, KiROUND(), m_arcCenter, m_bezierC1, m_bezierC2, m_ellipse, m_end, m_hatchingDirty, m_shape, m_start, SHAPE_POLY_SET::OutlineCount(), POLY, RebuildBezierToSegmentsPointsList(), recalcEllipseArcEndpoints(), RECTANGLE, SEGMENT, SetPolyPoints(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
overridevirtualinherited |
Serializes this object to the given Any message.
The Any message's concrete type will be specific to the object in question.
| aContainer | will be filled with a message describing this object |
Reimplemented from SERIALIZABLE.
Reimplemented in PCB_SHAPE, PCB_TEXTBOX, SCH_SHAPE, and SCH_TEXTBOX.
Definition at line 231 of file eda_shape.cpp.
References pcbIUScale, and Serialize().
Referenced by API_HANDLER_COMMON::handleGetTextAsShapes(), operator=(), Serialize(), PCB_SHAPE::Serialize(), and SCH_SHAPE::Serialize().
|
inherited |
Definition at line 237 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, circle(), ELLIPSE, ELLIPSE_ARC, GetArcMid(), GetBezierC1(), GetBezierC2(), GetCornerRadius(), GetEllipseCenter(), GetEllipseEndAngle(), GetEllipseMajorRadius(), GetEllipseMinorRadius(), GetEllipseRotation(), GetEllipseStartAngle(), GetEnd(), GetFillMode(), GetPolyShape(), GetShape(), GetStart(), GetWidth(), m_fillColor, m_stroke, kiapi::common::PackColor(), kiapi::common::PackDistance(), kiapi::common::PackPolySet(), kiapi::common::PackVector2(), POLY, RECTANGLE, SEGMENT, ToProtoEnum(), and COLOR4D::UNSPECIFIED.
|
inherited |
Set the end point from the angle center and start.
aAngle is:
Definition at line 1427 of file eda_shape.cpp.
References ANGLE_0, m_arcCenter, m_end, m_endsSwapped, m_start, EDA_ANGLE::Normalize720(), and RotatePoint().
Referenced by BOOST_AUTO_TEST_CASE(), SCH_IO_EAGLE::loadSymbolWire(), and PCB_SHAPE::SetArcAngleAndEnd().
|
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 1360 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 CREEPAGE_GRAPH::Addshape(), beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), calcEdit(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShapes(), Deserialize(), editArcMidKeepEndpoints(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_PADS::LoadSchematicFile(), CADSTAR_SCH_ARCHIVE_LOADER::loadShapeVertices(), SCH_SCREEN::Plot(), PCB_SHAPE::rebakeFromTransform(), and PCB_SHAPE::SetArcGeometry().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 279 of file eda_shape.h.
References m_bezierC1.
Referenced by SCH_IO_GEDA::addSymbolGraphic(), beginEdit(), calcEdit(), Deserialize(), HelperGeneratePowerPortGraphics(), HelperGeneratePowerPortGraphics(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), PCB_SHAPE::rebakeFromTransform(), and PCB_SHAPE::SetBezierC1().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 282 of file eda_shape.h.
References m_bezierC2.
Referenced by SCH_IO_GEDA::addSymbolGraphic(), beginEdit(), calcEdit(), Deserialize(), HelperGeneratePowerPortGraphics(), HelperGeneratePowerPortGraphics(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), PCB_SHAPE::rebakeFromTransform(), and PCB_SHAPE::SetBezierC2().
|
inlinevirtualinherited |
|
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 1350 of file eda_shape.cpp.
References m_arcMidData.
Referenced by SetArcGeometry().
|
inherited |
Definition at line 1264 of file eda_shape.cpp.
References ARC, CIRCLE, delta, ELLIPSE, ELLIPSE_ARC, m_arcCenter, m_ellipse, m_end, m_hatchingDirty, m_shape, m_start, recalcEllipseArcEndpoints(), SetEnd(), SetStart(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by SCH_IO_GEDA::addSymbolGraphic(), PCAD2KICAD::PCAD_ARC::AddToBoard(), BOOST_AUTO_TEST_CASE(), ALTIUM_PCB::ConvertArcs6ToBoardItemOnLayer(), ALTIUM_PCB::ConvertArcs6ToPcbShape(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), DIPTRACE::PCB_PARSER::CreateFootprint(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShape(), editArcCenterKeepEndpoints(), KI_ARC_EDIT::EditArcEndpointKeepCenter(), editArcEndpointKeepTangent(), PCB_IO_AUTOTRAX::emitArc(), CADSTAR_PCB_ARCHIVE_LOADER::getShapeFromVertex(), GRAPH_CONNECTION::GetShapes(), PCB_IO_PADS::loadFootprints(), PCB_IO_PADS::loadGraphicLines(), PCB_IO_EAGLE::loadPlain(), SCH_IO_EAGLE::loadSymbolWire(), CIRCLE_GEOM_SYNCER::OnCenterPointChange(), CIRCLE_GEOM_SYNCER::OnCenterRadiusChange(), ARC_GEOM_SYNCER::OnCSAChange(), PCB_IO_EAGLE::packageWire(), SCH_IO_ALTIUM::ParseArc(), PCB_IO_GEDA::parseElement(), GPCB_FPL_CACHE::parseFOOTPRINT(), PCB_IO_GEDA::parseLayer(), SPRINT_LAYOUT_PARSER::processCircle(), CONVERT_TOOL::SegmentToArc(), PCB_IO_PADS::setPcbShapeArc(), and updateArcFromConstructionMgr().
|
inlineinherited |
Definition at line 226 of file eda_shape.h.
References m_end, m_hatchingDirty, m_start, SetEnd(), SetStart(), and VECTOR2< T >::x.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
inlineinherited |
Definition at line 215 of file eda_shape.h.
References m_end, m_hatchingDirty, m_start, SetEnd(), SetStart(), and VECTOR2< T >::y.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
inherited |
Definition at line 581 of file eda_shape.cpp.
References std::abs(), GetRectangleHeight(), GetRectangleWidth(), m_cornerRadius, m_shape, and RECTANGLE.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Deserialize(), and EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
inlineprotectedinherited |
Definition at line 560 of file eda_shape.h.
References m_editState.
Referenced by PCB_SHAPE::SetEditState(), and SCH_SHAPE::SetEditState().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 285 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseCenter(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 331 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseEndAngle(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 294 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseMajorRadius(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 303 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseMinorRadius(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 312 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseRotation(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 322 of file eda_shape.h.
References m_ellipse, m_hatchingDirty, and recalcEllipseArcEndpoints().
Referenced by beginEdit(), BOOST_AUTO_TEST_CASE(), calcEdit(), Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), PCB_SHAPE::rebakeFromTransform(), PCB_SHAPE::SetEllipseStartAngle(), and PCB_SHAPE::SetLibraryEllipse().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 244 of file eda_shape.h.
References m_end, m_endsSwapped, and m_hatchingDirty.
Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_IO_GEDA::addSymbolGraphic(), SCH_IO_ALTIUM::AddTextBox(), beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::BuildKiCadPowerSymbol(), calcEdit(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_TABLE_TOOL::copyCell(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateCircle(), SCH_IO_GEDA::createFallbackSymbol(), SCH_IO_LTSPICE_PARSER::CreateRect(), SCH_IO_LTSPICE_PARSER::CreateRect(), SCH_IO_LTSPICE_PARSER::CreateRect(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShape(), DIPTRACE::SCH_PARSER::createSheetShapes(), Deserialize(), SCH_TEXTBOX::Deserialize(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawTable(), KI_ARC_EDIT::EditArcEndpointKeepCenter(), editArcEndpointKeepCenterAndRadius(), editArcEndpointKeepTangent(), KI_ARC_EDIT::EditArcMidKeepCenter(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), HelperGeneratePowerPortGraphics(), HelperGeneratePowerPortGraphics(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadRect(), SCH_IO_PADS::LoadSchematicFile(), SCH_IO_EAGLE::loadSymbolRectangle(), SCH_TABLE::Normalize(), PCB_TEXTBOX::OnFootprintTransformed(), SCH_IO_ALTIUM::ParseArc(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), SCH_IO_ALTIUM::ParseRectangle(), SCH_IO_ALTIUM::ParseRoundRectangle(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBoxContent(), SCH_TEXTBOX::Plot(), PCB_SHAPE::rebakeFromTransform(), PCB_TEXTBOX::Rotate(), SetCenter(), SetCenterX(), SetCenterY(), PCB_SHAPE::SetEnd(), SetEndX(), SetEndY(), SetRadius(), and DIALOG_TEXT_PROPERTIES::TransferDataFromWindow().
|
inlineinherited |
Definition at line 258 of file eda_shape.h.
References m_end, SetEnd(), and VECTOR2< T >::x.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_SHAPE::Normalize(), PCB_TEXTBOX::SetLeft(), SetRectangleWidth(), SetRight(), and PCB_TEXTBOX::SetRight().
|
inlineinherited |
Definition at line 251 of file eda_shape.h.
References m_end, SetEnd(), and VECTOR2< T >::y.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_SHAPE::Normalize(), SetBottom(), PCB_TEXTBOX::SetBottom(), SetRectangleHeight(), and PCB_TEXTBOX::SetTop().
|
inlineinherited |
Definition at line 170 of file eda_shape.h.
References m_fillColor.
Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_IO_ALTIUM::AddTextBox(), Deserialize(), SCH_TEXTBOX::Deserialize(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SCH_DRAWING_TOOLS::DrawShape(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), fixupSchFillMode(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBoxContent(), SCH_TABLECELL_DESC::SCH_TABLECELL_DESC(), SetLibShapeFillAndColor(), SetSchShapeFillAndColor(), and DIALOG_TEXT_PROPERTIES::TransferDataFromWindow().
|
inlinevirtualinherited |
Reimplemented in SCH_SHAPE.
Definition at line 152 of file eda_shape.h.
References setFilled().
Referenced by PAD::AddPrimitivePoly(), PAD::AddPrimitivePoly(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), ALLEGRO::BOARD_BUILDER::buildFootprint(), ZONE_CREATE_HELPER::commitZone(), ALTIUM_PCB::ConvertFills6ToBoardItem(), ALTIUM_PCB::ConvertFills6ToFootprintItem(), DIPTRACE::PCB_PARSER::CreateFootprint(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::drawShape(), PCB_IO_AUTOTRAX::emitFill(), CADSTAR_PCB_ARCHIVE_LOADER::getKiCadPad(), ALTIUM_PCB::HelperParsePad6NonCopper(), FEATURES_MANAGER::InitFeatureList(), FABMASTER::loadGraphics(), PCB_IO_EAGLE::loadPlain(), FABMASTER::loadPolygon(), CONVERT_TOOL::makePolysFromClosedGraphics(), GRAPHICS_CLEANER::mergeRects(), PCB_IO_EAGLE::packageCircle(), PCB_IO_EAGLE::packagePolygon(), PCB_IO_EAGLE::packageRectangle(), BRDITEMS_PLOTTER::PlotDimension(), BRDITEMS_PLOTTER::PlotPcbTarget(), SPRINT_LAYOUT_PARSER::processPoly(), PAD::Recombine(), DRAWING_TOOL::runSimpleShapeDraw(), SCH_TABLECELL_DESC::SCH_TABLECELL_DESC(), CONVERT_TOOL::SegmentToArc(), and SetFillModeProp().
|
inlineprotectedvirtualinherited |
Reimplemented in SCH_SHAPE.
Definition at line 523 of file eda_shape.h.
References FILLED_SHAPE, m_fill, and NO_FILL.
Referenced by SetFilled().
|
inherited |
Definition at line 674 of file eda_shape.cpp.
References m_fill, and m_hatchingDirty.
Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_IO_GEDA::addSymbolGraphic(), SCH_IO_ALTIUM::AddTextBox(), BOOST_AUTO_TEST_CASE(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::BuildKiCadPowerSymbol(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), SCH_IO_LTSPICE_PARSER::CreateRect(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShape(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShapes(), Deserialize(), SCH_TEXTBOX::Deserialize(), CADSTAR_PCB_ARCHIVE_LOADER::drawCadstarShape(), SCH_DRAWING_TOOLS::DrawShape(), fixupSchFillMode(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadPolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadRect(), SCH_IO_PADS::LoadSchematicFile(), SCH_IO_EAGLE::loadSymbolPolyLine(), SCH_IO_EAGLE::loadSymbolRectangle(), SCH_IO_EAGLE::loadSymbolWire(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymdef(), CONVERT_TOOL::makePolysFromClosedGraphics(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_KICAD_SEXPR_PARSER::parseEllipseBody(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBoxContent(), PAD::Recombine(), SCH_SHAPE_DESC::SCH_SHAPE_DESC(), SetFillModeProp(), SetLibShapeFillAndColor(), SetSchShapeFillAndColor(), and DIALOG_TEXT_PROPERTIES::TransferDataFromWindow().
|
inherited |
Definition at line 681 of file eda_shape.cpp.
References CROSS_HATCH, HATCH, NO_FILL, NONE, REVERSE_HATCH, SetFilled(), and SetFillMode().
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC().
|
inlineinherited |
Definition at line 163 of file eda_shape.h.
References m_hatchingDirty.
Referenced by SCH_POINT_EDITOR::removeCorner().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlineinherited |
Definition at line 181 of file eda_shape.h.
References m_stroke.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), and SCH_SCREEN::Plot().
|
inherited |
Definition at line 3181 of file eda_shape.cpp.
References m_stroke.
Referenced by Deserialize(), SCH_TEXTBOX::Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_ALTIUM::ParseLine(), PCB_TEXTBOX_DESC::PCB_TEXTBOX_DESC(), and SCH_SCREEN::Plot().
|
inherited |
Definition at line 2216 of file eda_shape.cpp.
References SHAPE_POLY_SET::Append(), GetPolyShape(), SHAPE_POLY_SET::NewOutline(), and SHAPE_POLY_SET::RemoveAllContours().
Referenced by PAD::AddPrimitivePoly(), PCAD2KICAD::PCAD_POLYGON::AddToBoard(), MICROWAVE_TOOL::createPolygonShape(), ALTIUM_PCB::HelperParsePad6NonCopper(), PCB_IO_EAGLE::packagePolygon(), PCB_IO_EAGLE::packageRectangle(), and scale().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 427 of file eda_shape.h.
References SHAPE_POLY_SET::Fracture(), GetPolyShape(), and SHAPE_POLY_SET::OutlineCount().
Referenced by Deserialize(), TEST_EE_ITEM_FIXTURE::Instantiate(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymdef(), and PCB_SHAPE::SetPolyShape().
|
protectedinherited |
Definition at line 496 of file eda_shape.cpp.
References getPosition(), and move.
Referenced by PCB_SHAPE::SetPosition(), and SCH_SHAPE::SetPosition().
|
inlineinherited |
Definition at line 265 of file eda_shape.h.
References m_hatchingDirty, m_start, and SetEnd().
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), and CIRCLE_GEOM_SYNCER::OnCenterRadiusChange().
|
inherited |
Definition at line 628 of file eda_shape.cpp.
References m_rectangleHeight, m_rectangleWidth, m_shape, RECTANGLE, SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
|
inherited |
Definition at line 598 of file eda_shape.cpp.
References GetStartY(), m_rectangleHeight, m_shape, RECTANGLE, SetEndY(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), TEST_BOARD_ITEM_FIXTURE::Instantiate(), and PCB_TABLECELL::PCB_TABLECELL().
|
inherited |
Definition at line 613 of file eda_shape.cpp.
References GetStartX(), m_rectangleWidth, m_shape, RECTANGLE, SetEndX(), SHAPE_T_asString(), and UNIMPLEMENTED_FOR.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), TEST_BOARD_ITEM_FIXTURE::Instantiate(), and PCB_TABLECELL::PCB_TABLECELL().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE, and PCB_TEXTBOX.
Definition at line 184 of file eda_shape.h.
References m_shape.
Referenced by Deserialize(), rotate(), PCB_SHAPE::SetShape(), PCB_TEXTBOX::SetShape(), and GRAPHICS_IMPORTER::setupSplineOrLine().
|
inlinevirtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 194 of file eda_shape.h.
References m_endsSwapped, m_hatchingDirty, and m_start.
Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_IO_GEDA::addSymbolGraphic(), SCH_IO_ALTIUM::AddTextBox(), beginEdit(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::BuildKiCadPowerSymbol(), calcEdit(), SCH_EDIT_TABLE_TOOL::copyCell(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_LTSPICE_PARSER::CreateArc(), SCH_IO_GEDA::createFallbackSymbol(), PADS_SCH::PADS_SCH_SYMBOL_BUILDER::createShape(), Deserialize(), SCH_DRAWING_TOOLS::DrawShape(), KI_ARC_EDIT::EditArcEndpointKeepCenter(), editArcEndpointKeepCenterAndRadius(), editArcEndpointKeepTangent(), KI_ARC_EDIT::EditArcMidKeepCenter(), CADSTAR_SCH_ARCHIVE_LOADER::getScaledLibPart(), HelperGeneratePowerPortGraphics(), HelperGeneratePowerPortGraphics(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), SCH_IO_EAGLE::loadSymbolWire(), PCB_TEXTBOX::OnFootprintTransformed(), SCH_IO_ALTIUM::ParseArc(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), SCH_TEXTBOX::Plot(), PCB_SHAPE::rebakeFromTransform(), PCB_TEXTBOX::Rotate(), SetCenter(), SetCenterX(), SetCenterY(), PCB_SHAPE::SetStart(), SetStartX(), and SetStartY().
|
inlineinherited |
Definition at line 208 of file eda_shape.h.
References m_start, SetStart(), and VECTOR2< T >::x.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_SHAPE::Normalize(), SetLeft(), PCB_TEXTBOX::SetLeft(), and PCB_TEXTBOX::SetRight().
|
inlineinherited |
Definition at line 201 of file eda_shape.h.
References m_start, SetStart(), and VECTOR2< T >::y.
Referenced by EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_SHAPE::Normalize(), PCB_TEXTBOX::SetBottom(), SetTop(), and PCB_TEXTBOX::SetTop().
|
inlinevirtualinherited |
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 3174 of file eda_shape.cpp.
References m_hatchingDirty, and m_stroke.
Referenced by Deserialize(), SCH_TEXTBOX::Deserialize(), EDA_SHAPE_DESC::EDA_SHAPE_DESC(), SCH_IO_EAGLE::loadSymbolRectangle(), and SCH_IO_ALTIUM::ParseEllipse().
|
inherited |
Definition at line 477 of file eda_shape.cpp.
References ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, m_shape, POLY, RECTANGLE, SEGMENT, and UNDEFINED.
Referenced by SCH_SHAPE::AddPoint(), BOARD_ADAPTER::addShape(), GRAPHICS_CLEANER::areEquivalent(), beginEdit(), calcEdit(), CheckLibSymbolGraphics(), continueEdit(), endEdit(), flip(), PCB_IO_KICAD_SEXPR::format(), PCB_IO_KICAD_SEXPR::format(), getBoundingBox(), getCenter(), PCB_SHAPE::GetConnectionPoints(), PCB_SHAPE::GetCorners(), SCH_SHAPE::GetItemDescription(), GetLength(), SCH_SHAPE::GetMenuImage(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), hitTest(), hitTest(), IsClockwiseArc(), IsClosed(), GRAPHICS_CLEANER::isNullShape(), makeEffectiveShapes(), SCH_POINT_EDITOR::makePointsAndBehavior(), move(), operator=(), SCH_SHAPE::Plot(), BRDITEMS_PLOTTER::PlotShape(), rotate(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), scale(), SetCenter(), SetRectangle(), SetRectangleHeight(), SetRectangleWidth(), shapeNeedsUpdate(), TransformShapeToPolygon(), and UpdateHatching().
|
inherited |
Definition at line 1471 of file eda_shape.cpp.
References _, std::abs(), ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, GetArcAngle(), GetEllipseEndAngle(), GetEllipseMajorRadius(), GetEllipseMinorRadius(), GetEllipseRotation(), GetEllipseStartAngle(), GetEnd(), getFriendlyName(), GetLength(), GetPolyShape(), GetRadius(), GetStart(), m_shape, m_stroke, EDA_UNIT_UTILS::UI::MessageTextFromValue(), UNITS_PROVIDER::MessageTextFromValue(), POLY, RADIANS_T, RECTANGLE, and SEGMENT.
Referenced by PCB_SHAPE::GetMsgPanelInfo(), and SCH_SHAPE::GetMsgPanelInfo().
|
inherited |
Definition at line 448 of file eda_shape.cpp.
References _, ARC, BEZIER, CIRCLE, ELLIPSE, ELLIPSE_ARC, IsProxyItem(), m_shape, POLY, RECTANGLE, and SEGMENT.
Referenced by operator=().
|
inherited |
Definition at line 3300 of file eda_shape.cpp.
References SHAPE_POLY_SET::CVertex(), EDA_SHAPE(), STROKE_PARAMS::GetLineStyle(), GetPolyShape(), GetShape(), STROKE_PARAMS::GetWidth(), alg::longest_common_subset(), m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_end, m_fill, m_fillColor, m_start, m_stroke, and SHAPE_POLY_SET::TotalVertices().
Referenced by PCB_SHAPE::Similarity(), and SCH_SHAPE::Similarity().
|
inherited |
Definition at line 2875 of file eda_shape.cpp.
References EDA_SHAPE(), image, m_arcCenter, m_bezierC1, m_bezierC2, m_bezierPoints, m_cornerRadius, m_editState, m_ellipse, m_end, m_endsSwapped, m_fill, m_fillColor, m_hatchingDirty, m_poly, m_shape, m_start, m_stroke, and SWAPITEM.
Referenced by operator=(), PCB_SHAPE::swapData(), and SCH_SHAPE::swapData().
|
inherited |
Convert the shape to a closed polygon.
Circles and arcs are approximated by segments.
| aBuffer | is a buffer to store the polygon. |
| aClearance | is the clearance around the pad. |
| aError | is the maximum deviation from a true arc. |
| aErrorLoc | whether any approximation error should be placed inside or outside |
| ignoreLineWidth | is used for edge cut items where the line width is only for visualization |
Definition at line 2960 of file eda_shape.cpp.
References SEG::A, std::abs(), SHAPE_POLY_SET::AddOutline(), ANGLE_0, SHAPE_POLY_SET::Append(), ARC, SHAPE_LINE_CHAIN::Arc(), SHAPE_LINE_CHAIN::ArcIndex(), SEG::B, BEZIER, buildShapeEllipse(), chain, CIRCLE, SHAPE_ELLIPSE::ConvertToPolyline(), ELLIPSE, ELLIPSE_ARC, ERROR_OUTSIDE, GetArcMid(), SHAPE_ARC::GetArcMid(), GetBezierC1(), GetBezierC2(), getBoundingBox(), BOX2< Vec >::GetCenter(), getCenter(), GetCornerRadius(), GetEnd(), GetHatching(), SHAPE_ARC::GetP0(), SHAPE_ARC::GetP1(), SHAPE_LINE_CHAIN::GetPoint(), SHAPE_LINE_CHAIN::GetPointCount(), BEZIER_POLY::GetPoly(), GetPolyShape(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), GetRectCorners(), SHAPE_LINE_CHAIN::GetSegment(), GetStart(), GetWidth(), SHAPE_POLY_SET::Inflate(), SHAPE_LINE_CHAIN::IsArcSegment(), IsHatchedFill(), IsPolyShapeValid(), IsProxyItem(), IsSolidFill(), m_shape, SHAPE_POLY_SET::NewOutline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), POLY, RECTANGLE, ROUND_ALL_CORNERS, SEGMENT, SHAPE_LINE_CHAIN::SegmentCount(), SHAPE_LINE_CHAIN::SetClosed(), SHAPE_T_asString(), TransformArcToPolygon(), TransformCircleToPolygon(), TransformOvalToPolygon(), TransformRingToPolygon(), TransformRoundChamferedRectToPolygon(), ROUNDRECT::TransformToPolygon(), and UNIMPLEMENTED_FOR.
Referenced by PCB_SHAPE::TransformShapeToPolygon(), and PCB_SHAPE::TransformShapeToPolySet().
|
virtualinherited |
Reimplemented in PCB_SHAPE.
Definition at line 743 of file eda_shape.cpp.
References SHAPE_POLY_SET::AddOutline(), ANGLE_45, SHAPE_LINE_CHAIN::Append(), ARC, SHAPE_POLY_SET::BBox(), BEZIER, SHAPE_POLY_SET::BooleanSubtract(), buildShapeEllipse(), chain, CIRCLE, SHAPE_POLY_SET::ClearArcs(), SHAPE_POLY_SET::CloneDropTriangulation(), SHAPE_ELLIPSE::ConvertToPolyline(), CROSS_HATCH, ELLIPSE, ELLIPSE_ARC, ERROR_INSIDE, SHAPE_POLY_SET::Fracture(), SHAPE_POLY_SET::GenerateHatchLines(), BOX2< Vec >::GetBottom(), getCenter(), GetCornerRadius(), GetFillMode(), GetHatching(), getHatchingKnockouts(), GetHatchLineSpacing(), GetHatchLineWidth(), BOX2< Vec >::GetHeight(), getMaxError(), GetPolyShape(), getPosition(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), HATCH, hatching(), hatchLines(), IsClosed(), SHAPE_POLY_SET::IsEmpty(), isMoving(), m_hatchingDirty, m_shape, SHAPE_LINE_CHAIN::Move(), POLY, RECTANGLE, SHAPE_POLY_SET::RemoveAllContours(), REVERSE_HATCH, SHAPE_POLY_SET::Rotate(), SEGMENT, SHAPE_LINE_CHAIN::SetClosed(), SHAPE_T_asString(), TransformCircleToPolygon(), TransformOvalToPolygon(), ROUNDRECT::TransformToPolygon(), UNIMPLEMENTED_FOR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by KIGFX::SCH_PAINTER::draw(), SCH_SHEET_PATH::UpdateAllScreenReferences(), and PCB_SHAPE::UpdateHatching().
|
protectedinherited |
Definition at line 607 of file eda_shape.h.
Referenced by calcEdit(), computeArcBBox(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), flip(), GetArcMid(), getCenter(), GetRadius(), makeEffectiveShapes(), move(), operator=(), operator==(), recalcEllipseArcEndpoints(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), SetCenter(), Similarity(), and SwapShape().
|
protectedinherited |
Definition at line 608 of file eda_shape.h.
Referenced by Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), GetArcMid(), move(), operator=(), rotate(), SetArcGeometry(), and SetCachedArcData().
|
protectedinherited |
Definition at line 610 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), Compare(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), flip(), GetBezierC1(), hitTest(), hitTest(), move(), operator=(), operator==(), rotate(), scale(), SetBezierC1(), Similarity(), and SwapShape().
|
protectedinherited |
Definition at line 611 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), Compare(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), flip(), GetBezierC2(), hitTest(), hitTest(), move(), operator=(), operator==(), rotate(), scale(), SetBezierC2(), Similarity(), and SwapShape().
|
protectedinherited |
Definition at line 613 of file eda_shape.h.
Referenced by Compare(), EDA_SHAPE(), GetBezierPoints(), getBoundingBox(), SCH_SHAPE::GetItemDescription(), GetLength(), hitTest(), hitTest(), IsClosed(), move(), operator=(), operator==(), SCH_SHAPE::Plot(), RebuildBezierToSegmentsPointsList(), rotate(), Similarity(), and SwapShape().
|
protectedinherited |
Definition at line 602 of file eda_shape.h.
Referenced by Compare(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), GetCornerRadius(), hitTest(), hitTest(), makeEffectiveShapes(), operator=(), rotate(), SetCornerRadius(), and SwapShape().
|
protectedinherited |
Definition at line 617 of file eda_shape.h.
Referenced by beginEdit(), calcEdit(), continueEdit(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), endEdit(), operator=(), recalcEllipseArcEndpoints(), setEditState(), and SwapShape().
|
protectedinherited |
Definition at line 614 of file eda_shape.h.
Referenced by buildShapeEllipse(), calcEdit(), Compare(), EDA_SHAPE(), flip(), getCenter(), GetEllipse(), GetEllipseCenter(), GetEllipseEndAngle(), GetEllipseMajorRadius(), GetEllipseMinorRadius(), GetEllipseRotation(), GetEllipseStartAngle(), move(), operator=(), operator==(), recalcEllipseArcEndpoints(), rotate(), scale(), SetCenter(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), SetEllipseStartAngle(), and SwapShape().
|
protectedinherited |
Definition at line 605 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), calcEdit(), Compare(), computeArcBBox(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), flip(), GetArcMid(), getCenter(), PCB_TEXTBOX::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), GetEnd(), GetEndX(), GetEndY(), SCH_SHAPE::GetItemDescription(), GetRadius(), hitTest(), hitTest(), IsClockwiseArc(), makeEffectiveShapes(), move(), PCB_SHAPE::Normalize(), operator=(), operator==(), SCH_SHAPE::Plot(), SCH_TEXTBOX::Plot(), recalcEllipseArcEndpoints(), PCB_TEXTBOX::Rotate(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), SetCenter(), SetCenterX(), SetCenterY(), SetEnd(), SetEndX(), SetEndY(), Similarity(), SwapShape(), and PCB_TEXTBOX::syncLibCoords().
|
protectedinherited |
Definition at line 591 of file eda_shape.h.
Referenced by Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), EndsSwapped(), operator=(), SetArcAngleAndEnd(), SetArcGeometry(), SetEnd(), SetStart(), and SwapShape().
|
protectedinherited |
Definition at line 594 of file eda_shape.h.
Referenced by Compare(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), GetFillMode(), GetFillModeProp(), operator=(), operator==(), SCH_RULE_AREA::Plot(), SCH_SHAPE::Plot(), SCH_SHAPE::SetFilled(), setFilled(), SCH_SHAPE::setFilled(), SetFillMode(), Similarity(), SwapShape(), and SCH_SHAPE::ViewGetLayers().
|
protectedinherited |
Definition at line 595 of file eda_shape.h.
Referenced by Deserialize(), EDA_SHAPE(), EDA_SHAPE(), GetFillColor(), operator=(), operator==(), Serialize(), SetFillColor(), Similarity(), and SwapShape().
|
mutableprotectedinherited |
Definition at line 597 of file eda_shape.h.
Referenced by GetHatching(), GetHatchLines(), hatching(), hatchLines(), move(), and operator=().
|
mutableprotectedinherited |
Definition at line 598 of file eda_shape.h.
Referenced by EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), flip(), move(), operator=(), rotate(), scale(), SetCenter(), SetCenterX(), SetCenterY(), SetEllipseCenter(), SetEllipseEndAngle(), SetEllipseMajorRadius(), SetEllipseMinorRadius(), SetEllipseRotation(), SetEllipseStartAngle(), SetEnd(), SetFillMode(), SetHatchingDirty(), PCB_SHAPE::SetLibStrokeWidth(), SetRadius(), SetStart(), SetWidth(), PCB_SHAPE::SetWidth(), SwapShape(), UpdateHatching(), and PCB_SHAPE::UpdateHatching().
|
mutableprotectedinherited |
Definition at line 615 of file eda_shape.h.
Referenced by EDA_SHAPE(), GetPolyShape(), GetPolyShape(), operator=(), and SwapShape().
|
protectedinherited |
Definition at line 618 of file eda_shape.h.
Referenced by Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), IsProxyItem(), PCB_SHAPE::IsProxyItem(), operator=(), SetIsProxyItem(), and PCB_SHAPE::SetIsProxyItem().
|
protectedinherited |
Definition at line 600 of file eda_shape.h.
Referenced by EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), operator=(), SetRectangle(), and SetRectangleHeight().
|
protectedinherited |
Definition at line 601 of file eda_shape.h.
Referenced by EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), operator=(), SetRectangle(), and SetRectangleWidth().
|
protectedinherited |
Definition at line 592 of file eda_shape.h.
Referenced by buildShapeEllipse(), Compare(), EDA_SHAPE(), EDA_SHAPE(), flip(), getBoundingBox(), getCenter(), PCB_SHAPE::GetConnectionPoints(), GetCornersInSequence(), PCB_TEXTBOX::GetCornersInSequence(), PCB_SHAPE::GetFocusPosition(), getFriendlyName(), GetLength(), getPosition(), GetRadius(), GetRectangleHeight(), GetRectangleWidth(), GetShape(), hitTest(), hitTest(), IsClockwiseArc(), IsClosed(), PCB_SHAPE::IsType(), SCH_RULE_AREA::MakeEffectiveShapes(), makeEffectiveShapes(), move(), PCB_SHAPE::Normalize(), PCB_SHAPE::NormalizeForCompare(), PCB_TEXTBOX::OnFootprintTransformed(), operator=(), operator==(), PCB_SHAPE::rebakeFromTransform(), RebuildBezierToSegmentsPointsList(), recalcEllipseArcEndpoints(), rotate(), scale(), SetCenter(), SetCornerRadius(), SetRectangle(), SetRectangleHeight(), SetRectangleWidth(), SetShape(), SHAPE_T_asString(), ShapeGetMsgPanelInfo(), ShowShape(), SwapShape(), PCB_SHAPE::syncLibCoords(), TransformShapeToPolygon(), and UpdateHatching().
|
protectedinherited |
Definition at line 604 of file eda_shape.h.
Referenced by buildBezierToSegmentsPointsList(), calcEdit(), Compare(), computeArcBBox(), Deserialize(), PCB_SHAPE::Deserialize(), EDA_SHAPE(), flip(), GetArcMid(), getCenter(), PCB_TEXTBOX::GetCornersInSequence(), SCH_TEXTBOX::GetDrawPos(), SCH_SHAPE::GetItemDescription(), getPosition(), GetRadius(), GetStart(), GetStartX(), GetStartY(), hitTest(), hitTest(), IsClockwiseArc(), makeEffectiveShapes(), move(), PCB_SHAPE::Normalize(), operator=(), operator==(), SCH_SHAPE::Plot(), SCH_TEXTBOX::Plot(), recalcEllipseArcEndpoints(), PCB_TEXTBOX::Rotate(), rotate(), scale(), SetArcAngleAndEnd(), SetArcGeometry(), SetCenter(), SetCenterX(), SetCenterY(), SetRadius(), SetStart(), SetStartX(), SetStartY(), Similarity(), SwapShape(), and PCB_TEXTBOX::syncLibCoords().
|
protectedinherited |
Definition at line 593 of file eda_shape.h.
Referenced by Compare(), Deserialize(), SCH_TEXTBOX::Deserialize(), EDA_SHAPE(), EDA_SHAPE(), EDA_SHAPE(), PCB_TEXTBOX::GetBorderWidth(), SCH_SHAPE::GetEffectiveLineStyle(), GetLineColor(), GetLineStyle(), PCB_TEXTBOX::GetMsgPanelInfo(), SCH_RULE_AREA::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), PCB_SHAPE::GetStroke(), SCH_SHAPE::GetStroke(), GetWidth(), operator=(), operator==(), Serialize(), PCB_TEXTBOX::SetBorderWidth(), PCB_SHAPE::SetLibStrokeWidth(), SetLineColor(), SetLineStyle(), PCB_SHAPE::SetStroke(), SCH_SHAPE::SetStroke(), SetWidth(), PCB_SHAPE::SetWidth(), ShapeGetMsgPanelInfo(), Similarity(), PCB_SHAPE::StyleFromSettings(), and SwapShape().