93 static std::vector<VECTOR2I> polybuffer;
117 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
144 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
168 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
189 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
205 std::vector<VECTOR2I> subshape_poly;
215 for(
int ii = 0; ii < 4; ii++ )
217 polybuffer = subshape_poly;
220 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
225 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
233 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
234 aShapeBuffer.
Append( polybuffer[jj] );
236 aShapeBuffer.
Append( polybuffer[0] );
257 int numCircles =
KiROUND(
m_Params[5].GetValueFromMacro( aApertMacro ) );
260 int arc_to_seg_error =
gerbIUScale.mmToIU( 0.005 );
269 int diamAdjust = ( gap + penThickness ) * 2;
271 for(
int i = 0; i < numCircles; ++i, outerDiam -= diamAdjust )
282 if( outerDiam <= penThickness )
298 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
327 int numCorners = (int)
m_Params[1].GetValueFromMacro( aApertMacro );
340 for(
int i = 0; i <= numCorners; ++i )
346 polybuffer.push_back(pos);
351 if( prm_idx >= last_prm )
356 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
384 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
386 polybuffer[ii] += curPos;
398 if( polybuffer.size() > 1 )
402 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
403 aShapeBuffer.
Append( polybuffer[jj] );
406 aShapeBuffer.
Append( polybuffer[0] );
412 std::vector<VECTOR2I>& aBuffer )
435 const int seg_per_circle = 64;
444 aBuffer.push_back( corner );
459 int len =
delta.EuclideanNorm();
464 currpt.
y += width / 2;
465 aBuffer.push_back( currpt );
467 aBuffer.push_back( currpt );
469 aBuffer.push_back( currpt );
471 aBuffer.push_back( currpt );
476 for(
unsigned ii = 0; ii < 4; ii++ )
479 aBuffer[ii] += start;
495 aBuffer.push_back( pos );
497 aBuffer.push_back( pos );
499 aBuffer.push_back( pos );
501 aBuffer.push_back( pos );
513 aBuffer.push_back( lowerLeft );
514 lowerLeft.
y += size.
y;
515 aBuffer.push_back( lowerLeft );
516 lowerLeft.
x += size.
x;
517 aBuffer.push_back( lowerLeft );
518 lowerLeft.
y -= size.
y;
519 aBuffer.push_back( lowerLeft );
533 outerRadius = std::max( 1, outerRadius );
534 innerRadius = std::max( 1, innerRadius );
543 startpos.
x = innerRadius;
550 aBuffer.push_back( pos );
556 aBuffer.push_back( pos );
559 startpos.
x = outerRadius;
569 aBuffer.push_back( pos );
575 aBuffer.push_back( pos );
577 aBuffer.push_back( aBuffer[0] );
590 VECTOR2I pos( crossHairThickness / 2, crossHairLength / 2 );
591 aBuffer.push_back( pos );
592 pos.
y = crossHairThickness / 2;
593 aBuffer.push_back( pos );
594 pos.
x = -crossHairLength / 2;
595 aBuffer.push_back( pos );
596 pos.
y = -crossHairThickness / 2;
597 aBuffer.push_back( pos );
600 for(
int jj = 1; jj <= 3; jj ++ )
602 for(
int ii = 0; ii < 4; ii++ )
606 aBuffer.push_back( pos );
619 int vertexcount =
KiROUND(
m_Params[1].GetValueFromMacro( aApertMacro ) );
623 if( vertexcount < 3 )
626 if( vertexcount > 10 )
629 for(
int ii = 0; ii <= vertexcount; ii++ )
633 aBuffer.push_back( pos );