see CHANGELOG.txt
This commit is contained in:
parent
5208bf9976
commit
107ef8f102
|
@ -4,6 +4,21 @@ KiCad ChangeLog 2012
|
|||
Please add newer entries at the top, list the date and your name with
|
||||
email address.
|
||||
|
||||
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com>
|
||||
================================================================================
|
||||
++pcbnew
|
||||
* Remove virtual BOARD_ITEM::{Get,Set}Position() which in turn means all
|
||||
derived classes' implementations of these functions become non virtual and
|
||||
can be truly _inlined_ for speed. GetPosition() in derived classes were also
|
||||
all changed to return const wxPoint&, that is, a reference rather than a
|
||||
full copy of the position wxPoint. There was no need for polymorphism in
|
||||
{Get,Set}Position() since we never call these functions via generic pointer.
|
||||
* Remove BOARD::{Get,Set}Position() since they were only there to satisfy
|
||||
the pure virtuals established BOARD_ITEM, which are now gone.
|
||||
* Added const wxPoint& CPolyLine::GetPos(), made CPolyLine::Get{X,Y}() inline.
|
||||
* Derive CPolyPt from wxPoint so we can return const wxPoint& fromt GetPos().
|
||||
|
||||
|
||||
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com>
|
||||
================================================================================
|
||||
++pcbnew
|
||||
|
|
|
@ -167,15 +167,8 @@ public:
|
|||
* @return const wxPoint& - The position of this object.
|
||||
* This function exists mainly to satisfy the virtual GetPosition() in parent class
|
||||
*/
|
||||
const wxPoint GetPosition() const
|
||||
{
|
||||
return m_Start; // it had to be start or end.
|
||||
}
|
||||
|
||||
void SetPosition( const wxPoint& aPos )
|
||||
{
|
||||
m_Start = aPos;
|
||||
}
|
||||
const wxPoint& GetPosition() const { return m_Start; }
|
||||
void SetPosition( const wxPoint& aPos ) { m_Start = aPos; }
|
||||
|
||||
/**
|
||||
* Function GetABPosition
|
||||
|
|
|
@ -65,7 +65,7 @@ enum KICAD_T {
|
|||
PCB_MODULE_TEXT_T, ///< class TEXTE_MODULE, text in a footprint
|
||||
PCB_MODULE_EDGE_T, ///< class EDGE_MODULE, a footprint edge
|
||||
PCB_TRACE_T, ///< class TRACKE, a track segment (segment on a copper layer)
|
||||
PCB_VIA_T, ///< class VIA, a via (like a track segment on a copper layer)
|
||||
PCB_VIA_T, ///< class SEGVIA, a via (like a track segment on a copper layer)
|
||||
PCB_ZONE_T, ///< class SEGZONE, a segment used to fill a zone area (segment on a
|
||||
///< copper layer)
|
||||
PCB_MARKER_T, ///< class MARKER_PCB, a marker used to show something
|
||||
|
@ -239,16 +239,19 @@ public:
|
|||
*/
|
||||
bool Contains( const EDA_RECT& aRect ) const;
|
||||
|
||||
wxSize GetSize() const { return m_Size; }
|
||||
const wxSize& GetSize() const { return m_Size; }
|
||||
int GetX() const { return m_Pos.x; }
|
||||
int GetY() const { return m_Pos.y; }
|
||||
wxPoint GetOrigin() const { return m_Pos; }
|
||||
wxPoint GetPosition() const { return m_Pos; }
|
||||
wxPoint GetEnd() const { return wxPoint( GetRight(), GetBottom() ); }
|
||||
|
||||
const wxPoint& GetOrigin() const { return m_Pos; }
|
||||
const wxPoint& GetPosition() const { return m_Pos; }
|
||||
const wxPoint GetEnd() const { return wxPoint( GetRight(), GetBottom() ); }
|
||||
|
||||
int GetWidth() const { return m_Size.x; }
|
||||
int GetHeight() const { return m_Size.y; }
|
||||
int GetRight() const { return m_Pos.x + m_Size.x; }
|
||||
int GetBottom() const { return m_Pos.y + m_Size.y; }
|
||||
|
||||
void SetOrigin( const wxPoint& pos ) { m_Pos = pos; }
|
||||
void SetOrigin( int x, int y ) { m_Pos.x = x; m_Pos.y = y; }
|
||||
void SetSize( const wxSize& size ) { m_Size = size; }
|
||||
|
|
|
@ -94,6 +94,11 @@ public:
|
|||
BOARD_ITEM* Back() const { return (BOARD_ITEM*) Pback; }
|
||||
BOARD_ITEM* GetParent() const { return (BOARD_ITEM*) m_Parent; }
|
||||
|
||||
#if 0
|
||||
// DICK: there is no value in having a polymorphic {Get,Set}Position(). We never
|
||||
// call GetPosition() using a generic pointer, and the virtual is slower and
|
||||
// can never be inlined.
|
||||
|
||||
/**
|
||||
* Function GetPosition
|
||||
* returns the position of this object.
|
||||
|
@ -107,6 +112,7 @@ public:
|
|||
* @param aPos is the new position of this object
|
||||
*/
|
||||
virtual void SetPosition( const wxPoint& aPos ) = 0;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Function GetLayer
|
||||
|
|
|
@ -268,12 +268,6 @@ public:
|
|||
*/
|
||||
static wxString GetDefaultLayerName( int aLayerNumber );
|
||||
|
||||
const wxPoint GetPosition() const // overload
|
||||
{
|
||||
return wxPoint( 0, 0 ); // dummy for pure virtual
|
||||
}
|
||||
void SetPosition( const wxPoint& aPos ) {} // overload
|
||||
|
||||
/**
|
||||
* Function Add
|
||||
* adds the given item to this BOARD and takes ownership of its memory.
|
||||
|
|
|
@ -65,7 +65,7 @@ public:
|
|||
|
||||
~DIMENSION();
|
||||
|
||||
const wxPoint GetPosition() const { return m_Pos; }
|
||||
const wxPoint& GetPosition() const { return m_Pos; }
|
||||
|
||||
void SetPosition( const wxPoint& aPos ); // override, sets m_Text's position too
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ public:
|
|||
const wxPoint& GetBezControl2() const { return m_BezierC2; }
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) { m_Start = aPos; } // override
|
||||
const wxPoint GetPosition() const { return m_Start; } // override
|
||||
const wxPoint& GetPosition() const { return m_Start; } // override
|
||||
|
||||
/**
|
||||
* Function GetStart
|
||||
|
|
|
@ -77,12 +77,8 @@ public:
|
|||
DrawMarker( aPanel, aDC, aDrawMode, aOffset );
|
||||
}
|
||||
|
||||
const wxPoint GetPosition() const
|
||||
{
|
||||
return m_Pos;
|
||||
}
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }
|
||||
const wxPoint& GetPosition() const { return m_Pos; }
|
||||
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }
|
||||
|
||||
/**
|
||||
* Function HitTest
|
||||
|
|
|
@ -61,7 +61,7 @@ public:
|
|||
PCB_TARGET* Back() const { return (PCB_TARGET*) Pnext; }
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; } // override
|
||||
const wxPoint GetPosition() const { return m_Pos; } // override
|
||||
const wxPoint& GetPosition() const { return m_Pos; } // override
|
||||
|
||||
void SetShape( int aShape ) { m_Shape = aShape; }
|
||||
int GetShape() const { return m_Shape; }
|
||||
|
|
|
@ -163,8 +163,8 @@ public:
|
|||
*/
|
||||
EDA_RECT GetBoundingBox() const;
|
||||
|
||||
void SetPosition( const wxPoint& aPos ); // overload
|
||||
const wxPoint GetPosition() const { return m_Pos; } // overload
|
||||
void SetPosition( const wxPoint& aPos ); // was overload
|
||||
const wxPoint& GetPosition() const { return m_Pos; } // was overload
|
||||
|
||||
void SetOrientation( double newangle );
|
||||
double GetOrientation() const { return m_Orient; }
|
||||
|
|
|
@ -140,8 +140,8 @@ public:
|
|||
PAD_SHAPE_T GetShape() const { return m_PadShape; }
|
||||
void SetShape( PAD_SHAPE_T aShape ) { m_PadShape = aShape; m_boundingRadius = -1; }
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; } // overload
|
||||
const wxPoint GetPosition() const { return m_Pos; } // overload
|
||||
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; } // was overload
|
||||
const wxPoint& GetPosition() const { return m_Pos; } // was overload
|
||||
|
||||
void SetY( int y ) { m_Pos.y = y; }
|
||||
void SetX( int x ) { m_Pos.x = x; }
|
||||
|
|
|
@ -47,12 +47,12 @@ public:
|
|||
|
||||
~TEXTE_PCB();
|
||||
|
||||
const wxPoint GetPosition() const // is an overload
|
||||
const wxPoint& GetPosition() const // was overload
|
||||
{
|
||||
return m_Pos; // within EDA_TEXT
|
||||
}
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) // is an overload
|
||||
void SetPosition( const wxPoint& aPos ) // was overload
|
||||
{
|
||||
m_Pos = aPos; // within EDA_TEXT
|
||||
}
|
||||
|
|
|
@ -76,12 +76,12 @@ public:
|
|||
|
||||
TEXTE_MODULE* Back() const { return (TEXTE_MODULE*) Pback; }
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) // overload a base
|
||||
void SetPosition( const wxPoint& aPos ) // was overload
|
||||
{
|
||||
m_Pos = aPos; // in EDA_TEXT
|
||||
}
|
||||
|
||||
const wxPoint GetPosition() const // overload a base
|
||||
const wxPoint& GetPosition() const // was overload
|
||||
{
|
||||
return m_Pos; // from EDA_TEXT
|
||||
}
|
||||
|
|
|
@ -125,8 +125,8 @@ public:
|
|||
*/
|
||||
virtual void Flip( const wxPoint& aCentre );
|
||||
|
||||
void SetPosition( const wxPoint& aPos ) { m_Start = aPos; } // overload
|
||||
const wxPoint GetPosition() const { return m_Start; } // overload
|
||||
void SetPosition( const wxPoint& aPos ) { m_Start = aPos; } // was overload
|
||||
const wxPoint& GetPosition() const { return m_Start; } // was overload
|
||||
|
||||
void SetWidth( int aWidth ) { m_Width = aWidth; }
|
||||
int GetWidth() const { return m_Width; }
|
||||
|
@ -479,12 +479,8 @@ public:
|
|||
*/
|
||||
void ReturnLayerPair( int* top_layer, int* bottom_layer ) const;
|
||||
|
||||
const wxPoint GetPosition() const // overload
|
||||
{
|
||||
return m_Start;
|
||||
}
|
||||
|
||||
void SetPosition( const wxPoint& aPoint ) { m_Start = aPoint; m_End = aPoint; } // overload
|
||||
const wxPoint& GetPosition() const { return m_Start; } // was overload
|
||||
void SetPosition( const wxPoint& aPoint ) { m_Start = aPoint; m_End = aPoint; } // was overload
|
||||
|
||||
/**
|
||||
* Function GetClass
|
||||
|
|
|
@ -113,9 +113,11 @@ bool ZONE_CONTAINER::UnFill()
|
|||
}
|
||||
|
||||
|
||||
const wxPoint ZONE_CONTAINER::GetPosition() const
|
||||
const wxPoint& ZONE_CONTAINER::GetPosition() const
|
||||
{
|
||||
return m_Poly? GetCornerPosition( 0 ) : wxPoint( 0, 0 );
|
||||
static const wxPoint dummy;
|
||||
|
||||
return m_Poly ? GetCornerPosition( 0 ) : dummy;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -150,8 +150,8 @@ public:
|
|||
* Function GetPosition
|
||||
* @return a wxPoint, position of the first point of the outline
|
||||
*/
|
||||
const wxPoint GetPosition() const; // overload
|
||||
void SetPosition( const wxPoint& aPos ); // overload
|
||||
const wxPoint& GetPosition() const; // was overload
|
||||
void SetPosition( const wxPoint& aPos ); // was overload
|
||||
|
||||
/**
|
||||
* Function SetPriority
|
||||
|
@ -481,9 +481,9 @@ public:
|
|||
m_Poly->RemoveAllContours();
|
||||
}
|
||||
|
||||
wxPoint GetCornerPosition( int aCornerIndex ) const
|
||||
const wxPoint& GetCornerPosition( int aCornerIndex ) const
|
||||
{
|
||||
return wxPoint( m_Poly->GetX( aCornerIndex ), m_Poly->GetY( aCornerIndex ) );
|
||||
return m_Poly->GetPos( aCornerIndex );
|
||||
}
|
||||
|
||||
void SetCornerPosition( int aCornerIndex, wxPoint new_pos )
|
||||
|
|
|
@ -55,19 +55,21 @@ MARKER_PCB* DRC::fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, M
|
|||
if( aItem ) // aItem might be NULL
|
||||
{
|
||||
textB = aItem->GetSelectMenuText();
|
||||
posB = aItem->GetPosition();
|
||||
|
||||
if( aItem->Type() == PCB_PAD_T )
|
||||
{
|
||||
position = aItem->GetPosition();
|
||||
posB = position = ((D_PAD*)aItem)->GetPosition();
|
||||
}
|
||||
else if( aItem->Type() == PCB_VIA_T )
|
||||
{
|
||||
position = aItem->GetPosition();
|
||||
posB = position = ((SEGVIA*)aItem)->GetPosition();
|
||||
}
|
||||
else if( aItem->Type() == PCB_TRACE_T )
|
||||
{
|
||||
TRACK* track = (TRACK*) aItem;
|
||||
|
||||
posB = track->GetPosition();
|
||||
|
||||
wxPoint endPos = track->m_End;
|
||||
|
||||
// either of aItem's start or end will be used for the marker position
|
||||
|
@ -95,7 +97,7 @@ MARKER_PCB* DRC::fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, M
|
|||
textB, posB );
|
||||
else
|
||||
fillMe->SetData( aErrorCode, position,
|
||||
textA, aTrack->GetPosition() );
|
||||
textA, aTrack->GetPosition() );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -105,7 +107,7 @@ MARKER_PCB* DRC::fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, M
|
|||
textB, posB );
|
||||
else
|
||||
fillMe = new MARKER_PCB( aErrorCode, position,
|
||||
textA, aTrack->GetPosition() );
|
||||
textA, aTrack->GetPosition() );
|
||||
}
|
||||
|
||||
return fillMe;
|
||||
|
|
|
@ -179,6 +179,9 @@ void PCB_BASE_FRAME::Import_Pad_Settings( D_PAD* aPad, bool aDraw )
|
|||
case PAD_CONN:
|
||||
aPad->SetDrillSize( wxSize( 0, 0 ) );
|
||||
aPad->SetOffset( wxPoint( 0, 0 ) );
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
||||
if( aDraw )
|
||||
|
|
|
@ -1172,18 +1172,6 @@ void CPolyLine::UnHatch()
|
|||
}
|
||||
|
||||
|
||||
int CPolyLine::GetX( int ic )
|
||||
{
|
||||
return corner[ic].x;
|
||||
}
|
||||
|
||||
|
||||
int CPolyLine::GetY( int ic )
|
||||
{
|
||||
return corner[ic].y;
|
||||
}
|
||||
|
||||
|
||||
int CPolyLine::GetEndContour( int ic )
|
||||
{
|
||||
return corner[ic].end_contour;
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <kbool/include/kbool/booleng.h>
|
||||
#include <pad_shapes.h>
|
||||
#include <wx/gdicmn.h>
|
||||
|
||||
// inflection modes for DS_LINE and DS_LINE_VERTEX, used in math_for_graphics.cpp
|
||||
enum
|
||||
|
@ -48,6 +49,7 @@ public:
|
|||
int left, right, top, bottom;
|
||||
};
|
||||
|
||||
|
||||
class CPoint
|
||||
{
|
||||
public:
|
||||
|
@ -57,6 +59,7 @@ public:
|
|||
CPoint( int i, int j ) { x = i; y = j; };
|
||||
};
|
||||
|
||||
|
||||
class CSegment
|
||||
{
|
||||
public:
|
||||
|
@ -82,14 +85,13 @@ public:
|
|||
bool bFound;
|
||||
};
|
||||
|
||||
class CPolyPt
|
||||
|
||||
class CPolyPt : public wxPoint
|
||||
{
|
||||
public:
|
||||
CPolyPt( int qx = 0, int qy = 0, bool qf = false, int aUtility = 0 )
|
||||
{ x = qx; y = qy; end_contour = qf; utility = aUtility; };
|
||||
|
||||
int x;
|
||||
int y;
|
||||
bool end_contour;
|
||||
int utility;
|
||||
|
||||
|
@ -100,6 +102,7 @@ public:
|
|||
{ return (x != cpt2.x) || (y != cpt2.y) || (end_contour != cpt2.end_contour); }
|
||||
};
|
||||
|
||||
|
||||
#include <polygon_test_point_inside.h>
|
||||
|
||||
class CPolyLine
|
||||
|
@ -166,8 +169,12 @@ public:
|
|||
int GetContourStart( int icont );
|
||||
int GetContourEnd( int icont );
|
||||
int GetContourSize( int icont );
|
||||
int GetX( int ic );
|
||||
int GetY( int ic );
|
||||
|
||||
int GetX( int ic ) const { return corner[ic].x; }
|
||||
int GetY( int ic ) const { return corner[ic].y; }
|
||||
|
||||
const wxPoint& GetPos( int ic ) const { return corner[ic]; }
|
||||
|
||||
int GetEndContour( int ic );
|
||||
|
||||
int GetUtility( int ic ) { return corner[ic].utility; };
|
||||
|
|
Loading…
Reference in New Issue