Add some vector reservations
This commit is contained in:
parent
28ce11212c
commit
0a5ddb8d40
|
@ -160,6 +160,8 @@ bool OUTLINE_DECOMPOSER::approximateQuadraticBezierCurve( GLYPH_POINTS& aR
|
||||||
// cp0 = qp0, cp1 = qp0 + 2/3 * (qp1 - qp0), cp2 = qp2 + 2/3 * (qp1 - qp2), cp3 = qp2
|
// cp0 = qp0, cp1 = qp0 + 2/3 * (qp1 - qp0), cp2 = qp2 + 2/3 * (qp1 - qp2), cp3 = qp2
|
||||||
|
|
||||||
GLYPH_POINTS cubic;
|
GLYPH_POINTS cubic;
|
||||||
|
cubic.resize( 4 );
|
||||||
|
|
||||||
cubic.push_back( aBezier[0] ); // cp0
|
cubic.push_back( aBezier[0] ); // cp0
|
||||||
cubic.push_back( aBezier[0] + ( ( aBezier[1] - aBezier[0] ) * 2 / 3 ) ); // cp1
|
cubic.push_back( aBezier[0] + ( ( aBezier[1] - aBezier[0] ) * 2 / 3 ) ); // cp1
|
||||||
cubic.push_back( aBezier[2] + ( ( aBezier[1] - aBezier[2] ) * 2 / 3 ) ); // cp2
|
cubic.push_back( aBezier[2] + ( ( aBezier[1] - aBezier[2] ) * 2 / 3 ) ); // cp2
|
||||||
|
|
|
@ -804,6 +804,8 @@ void GERBER_PLOTTER::Rect( const VECTOR2I& p1, const VECTOR2I& p2, FILL_T fill,
|
||||||
{
|
{
|
||||||
std::vector<VECTOR2I> cornerList;
|
std::vector<VECTOR2I> cornerList;
|
||||||
|
|
||||||
|
cornerList.reserve( 5 );
|
||||||
|
|
||||||
// Build corners list
|
// Build corners list
|
||||||
cornerList.push_back( p1 );
|
cornerList.push_back( p1 );
|
||||||
|
|
||||||
|
@ -1526,6 +1528,8 @@ void GERBER_PLOTTER::plotRoundRectAsRegion( const VECTOR2I& aRectCenter, const V
|
||||||
RR_EDGE curr_edge;
|
RR_EDGE curr_edge;
|
||||||
std::vector<RR_EDGE> rr_outline;
|
std::vector<RR_EDGE> rr_outline;
|
||||||
|
|
||||||
|
rr_outline.reserve( 4 );
|
||||||
|
|
||||||
// Build outline coordinates, relative to rectangle center, rotation 0:
|
// Build outline coordinates, relative to rectangle center, rotation 0:
|
||||||
|
|
||||||
// Top left corner 1 (and 4 to 1 left vertical side @ x=-hsizeX)
|
// Top left corner 1 (and 4 to 1 left vertical side @ x=-hsizeX)
|
||||||
|
|
|
@ -144,9 +144,9 @@ void PSLIKE_PLOTTER::FlashPadRect( const VECTOR2I& aPadPos, const VECTOR2I& aSiz
|
||||||
const EDA_ANGLE& aPadOrient, OUTLINE_MODE aTraceMode,
|
const EDA_ANGLE& aPadOrient, OUTLINE_MODE aTraceMode,
|
||||||
void* aData )
|
void* aData )
|
||||||
{
|
{
|
||||||
static std::vector<VECTOR2I> cornerList;
|
std::vector<VECTOR2I> cornerList;
|
||||||
VECTOR2I size( aSize );
|
VECTOR2I size( aSize );
|
||||||
cornerList.clear();
|
cornerList.reserve( 4 );
|
||||||
|
|
||||||
if( aTraceMode == FILLED )
|
if( aTraceMode == FILLED )
|
||||||
SetCurrentLineWidth( 0 );
|
SetCurrentLineWidth( 0 );
|
||||||
|
|
|
@ -253,6 +253,8 @@ void PLOTTER::BezierCurve( const VECTOR2I& aStart, const VECTOR2I& aControl1,
|
||||||
int minSegLen = aLineThickness; // The segment min length to approximate a bezier curve
|
int minSegLen = aLineThickness; // The segment min length to approximate a bezier curve
|
||||||
|
|
||||||
std::vector<VECTOR2I> ctrlPoints;
|
std::vector<VECTOR2I> ctrlPoints;
|
||||||
|
ctrlPoints.reserve( 4 );
|
||||||
|
|
||||||
ctrlPoints.push_back( aStart );
|
ctrlPoints.push_back( aStart );
|
||||||
ctrlPoints.push_back( aControl1 );
|
ctrlPoints.push_back( aControl1 );
|
||||||
ctrlPoints.push_back( aControl2 );
|
ctrlPoints.push_back( aControl2 );
|
||||||
|
@ -295,6 +297,8 @@ void PLOTTER::markerSquare( const VECTOR2I& position, int radius )
|
||||||
std::vector<VECTOR2I> corner_list;
|
std::vector<VECTOR2I> corner_list;
|
||||||
VECTOR2I corner;
|
VECTOR2I corner;
|
||||||
|
|
||||||
|
corner_list.reserve( 4 );
|
||||||
|
|
||||||
corner.x = position.x + r;
|
corner.x = position.x + r;
|
||||||
corner.y = position.y + r;
|
corner.y = position.y + r;
|
||||||
corner_list.push_back( corner );
|
corner_list.push_back( corner );
|
||||||
|
@ -326,6 +330,8 @@ void PLOTTER::markerLozenge( const VECTOR2I& position, int radius )
|
||||||
std::vector<VECTOR2I> corner_list;
|
std::vector<VECTOR2I> corner_list;
|
||||||
VECTOR2I corner;
|
VECTOR2I corner;
|
||||||
|
|
||||||
|
corner_list.reserve( 4 );
|
||||||
|
|
||||||
corner.x = position.x;
|
corner.x = position.x;
|
||||||
corner.y = position.y + radius;
|
corner.y = position.y + radius;
|
||||||
corner_list.push_back( corner );
|
corner_list.push_back( corner );
|
||||||
|
|
|
@ -820,7 +820,9 @@ OPTIMIZER::BREAKOUT_LIST OPTIMIZER::rectBreakouts( int aWidth, const SHAPE* aSha
|
||||||
const SHAPE_RECT* rect = static_cast<const SHAPE_RECT*>(aShape);
|
const SHAPE_RECT* rect = static_cast<const SHAPE_RECT*>(aShape);
|
||||||
VECTOR2I s = rect->GetSize();
|
VECTOR2I s = rect->GetSize();
|
||||||
VECTOR2I c = rect->GetPosition() + VECTOR2I( s.x / 2, s.y / 2 );
|
VECTOR2I c = rect->GetPosition() + VECTOR2I( s.x / 2, s.y / 2 );
|
||||||
|
|
||||||
BREAKOUT_LIST breakouts;
|
BREAKOUT_LIST breakouts;
|
||||||
|
breakouts.reserve( 12 );
|
||||||
|
|
||||||
VECTOR2I d_offset;
|
VECTOR2I d_offset;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue