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 )
436 int arc_to_seg_error =
gerbIUScale.mmToIU( 0.005 );
442 aBuffer.push_back( pt );
456 int len =
delta.EuclideanNorm();
461 currpt.
y += width / 2;
462 aBuffer.push_back( currpt );
464 aBuffer.push_back( currpt );
466 aBuffer.push_back( currpt );
468 aBuffer.push_back( currpt );
473 for(
unsigned ii = 0; ii < 4; ii++ )
476 aBuffer[ii] += start;
492 aBuffer.push_back( pos );
494 aBuffer.push_back( pos );
496 aBuffer.push_back( pos );
498 aBuffer.push_back( pos );
510 aBuffer.push_back( lowerLeft );
511 lowerLeft.
y += size.
y;
512 aBuffer.push_back( lowerLeft );
513 lowerLeft.
x += size.
x;
514 aBuffer.push_back( lowerLeft );
515 lowerLeft.
y -= size.
y;
516 aBuffer.push_back( lowerLeft );
530 outerRadius = std::max( 1, outerRadius );
531 innerRadius = std::max( 1, innerRadius );
540 startpos.
x = innerRadius;
547 aBuffer.push_back( pos );
553 aBuffer.push_back( pos );
556 startpos.
x = outerRadius;
566 aBuffer.push_back( pos );
572 aBuffer.push_back( pos );
574 aBuffer.push_back( aBuffer[0] );
587 VECTOR2I pos( crossHairThickness / 2, crossHairLength / 2 );
588 aBuffer.push_back( pos );
589 pos.
y = crossHairThickness / 2;
590 aBuffer.push_back( pos );
591 pos.
x = -crossHairLength / 2;
592 aBuffer.push_back( pos );
593 pos.
y = -crossHairThickness / 2;
594 aBuffer.push_back( pos );
597 for(
int jj = 1; jj <= 3; jj ++ )
599 for(
int ii = 0; ii < 4; ii++ )
603 aBuffer.push_back( pos );
616 int vertexcount =
KiROUND(
m_Params[1].GetValueFromMacro( aApertMacro ) );
620 if( vertexcount < 3 )
623 if( vertexcount > 10 )
626 for(
int ii = 0; ii <= vertexcount; ii++ )
630 aBuffer.push_back( pos );