97 static std::vector<VECTOR2I> polybuffer;
121 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
148 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
172 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
193 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
209 std::vector<VECTOR2I> subshape_poly;
219 for(
int ii = 0; ii < 4; ii++ )
221 polybuffer = subshape_poly;
224 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
229 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
237 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
238 aShapeBuffer.
Append( polybuffer[jj] );
240 aShapeBuffer.
Append( polybuffer[0] );
261 int numCircles =
KiROUND(
m_Params[5].GetValueFromMacro( aApertMacro ) );
264 int arc_to_seg_error =
gerbIUScale.mmToIU( 0.005 );
273 int diamAdjust = ( gap + penThickness ) * 2;
275 for(
int i = 0; i < numCircles; ++i, outerDiam -= diamAdjust )
286 if( outerDiam <= penThickness )
302 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
331 int numCorners = (int)
m_Params[1].GetValueFromMacro( aApertMacro );
344 for(
int i = 0; i <= numCorners; ++i )
350 polybuffer.push_back(pos);
355 if( prm_idx >= last_prm )
360 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
388 for(
unsigned ii = 0; ii < polybuffer.size(); ii++ )
390 polybuffer[ii] += curPos;
402 if( polybuffer.size() > 1 )
406 for(
unsigned jj = 0; jj < polybuffer.size(); jj++ )
407 aShapeBuffer.
Append( polybuffer[jj] );
410 aShapeBuffer.
Append( polybuffer[0] );
416 std::vector<VECTOR2I>& aBuffer )
439 const int seg_per_circle = 64;
448 aBuffer.push_back( corner );
463 int len =
delta.EuclideanNorm();
468 currpt.
y += width / 2;
469 aBuffer.push_back( currpt );
471 aBuffer.push_back( currpt );
473 aBuffer.push_back( currpt );
475 aBuffer.push_back( currpt );
480 for(
unsigned ii = 0; ii < 4; ii++ )
483 aBuffer[ii] += start;
499 aBuffer.push_back( pos );
501 aBuffer.push_back( pos );
503 aBuffer.push_back( pos );
505 aBuffer.push_back( pos );
517 aBuffer.push_back( lowerLeft );
518 lowerLeft.
y += size.
y;
519 aBuffer.push_back( lowerLeft );
520 lowerLeft.
x += size.
x;
521 aBuffer.push_back( lowerLeft );
522 lowerLeft.
y -= size.
y;
523 aBuffer.push_back( lowerLeft );
537 outerRadius = std::max( 1, outerRadius );
538 innerRadius = std::max( 1, innerRadius );
547 startpos.
x = innerRadius;
554 aBuffer.push_back( pos );
560 aBuffer.push_back( pos );
563 startpos.
x = outerRadius;
573 aBuffer.push_back( pos );
579 aBuffer.push_back( pos );
581 aBuffer.push_back( aBuffer[0] );
594 VECTOR2I pos( crossHairThickness / 2, crossHairLength / 2 );
595 aBuffer.push_back( pos );
596 pos.
y = crossHairThickness / 2;
597 aBuffer.push_back( pos );
598 pos.
x = -crossHairLength / 2;
599 aBuffer.push_back( pos );
600 pos.
y = -crossHairThickness / 2;
601 aBuffer.push_back( pos );
604 for(
int jj = 1; jj <= 3; jj ++ )
606 for(
int ii = 0; ii < 4; ii++ )
610 aBuffer.push_back( pos );
623 int vertexcount =
KiROUND(
m_Params[1].GetValueFromMacro( aApertMacro ) );
627 if( vertexcount < 3 )
630 if( vertexcount > 10 )
633 for(
int ii = 0; ii <= vertexcount; ii++ )
637 aBuffer.push_back( pos );