diff --git a/pcbnew/fp_shape.cpp b/pcbnew/fp_shape.cpp index 38aa547d16..33e01ba2d0 100644 --- a/pcbnew/fp_shape.cpp +++ b/pcbnew/fp_shape.cpp @@ -106,21 +106,6 @@ void FP_SHAPE::SetDrawCoord() } -std::shared_ptr FP_SHAPE::GetEffectiveShape( PCB_LAYER_ID aLayer ) const -{ - FOOTPRINT* fp = static_cast( m_parent ); - std::vector shapes = MakeEffectiveShapes(); - - for( SHAPE* shape : shapes ) - { - shape->Rotate( -fp->GetOrientationRadians() ); - shape->Move( fp->GetPosition() ); - } - - return std::make_shared( shapes ); -} - - // see class_edge_mod.h void FP_SHAPE::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector& aList ) { diff --git a/pcbnew/fp_shape.h b/pcbnew/fp_shape.h index dd3af60928..cc06bb9eb6 100644 --- a/pcbnew/fp_shape.h +++ b/pcbnew/fp_shape.h @@ -130,11 +130,6 @@ public: */ void SetDrawCoord(); - /** - * Makes a set of SHAPE objects representing the FP_SHAPE. Caller owns the objects. - */ - std::shared_ptr GetEffectiveShape( PCB_LAYER_ID aLayer = UNDEFINED_LAYER ) const override; - void GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector& aList ) override; wxString GetClass() const override diff --git a/pcbnew/pcb_shape.cpp b/pcbnew/pcb_shape.cpp index e718604755..ef9ba8c8e1 100644 --- a/pcbnew/pcb_shape.cpp +++ b/pcbnew/pcb_shape.cpp @@ -1137,6 +1137,13 @@ std::vector PCB_SHAPE::MakeEffectiveShapes() const case S_POLYGON: { SHAPE_LINE_CHAIN l = GetPolyShape().COutline( 0 ); + FOOTPRINT* parentFootprint = dynamic_cast( m_parent ); + + if( parentFootprint ) + { + l.Rotate( -parentFootprint->GetOrientationRadians() ); + l.Move( parentFootprint->GetPosition() ); + } if( IsFilled() ) {