# How to the main method for this class

• March 20th, 2014, 07:43 PM
TheVolum1
How to the main method for this class
Can somebody help me with the main method of this.

import java.awt.*;
import java.awt.geom.*;

public class WobbleStroke implements Stroke {

private float detail = 2;
private float amplitude = 2;
private static final float FLATNESS = 1;

public WobbleStroke( float detail, float amplitude ) {
this.detail = detail;
this.amplitude = amplitude;
}

public Shape createStrokedShape( Shape shape ) {
GeneralPath result = new GeneralPath();
shape = new BasicStroke( 10 ).createStrokedShape( shape );
PathIterator it = new FlatteningPathIterator( shape.getPathIterator( null ), FLATNESS );
float points[] = new float[6];
float moveX = 0, moveY = 0;
float lastX = 0, lastY = 0;
float thisX = 0, thisY = 0;
int type = 0;
boolean first = false;
float next = 0;

while ( !it.isDone() ) {
type = it.currentSegment( points );
switch( type ){
case PathIterator.SEG_MOVETO:
moveX = lastX = randomize( points[0] );
moveY = lastY = randomize( points[1] );
result.moveTo( moveX, moveY );
first = true;
next = 0;
break;

case PathIterator.SEG_CLOSE:
points[0] = moveX;
points[1] = moveY;
// Fall into....

case PathIterator.SEG_LINETO:
thisX = randomize( points[0] );
thisY = randomize( points[1] );
float dx = thisX-lastX;
float dy = thisY-lastY;
float distance = (float)Math.sqrt( dx*dx + dy*dy );
if ( distance >= next ) {
float r = 1.0f/distance;
float angle = (float)Math.atan2( dy, dx );
while ( distance >= next ) {
float x = lastX + next*dx*r;
float y = lastY + next*dy*r;
result.lineTo( randomize( x ), randomize( y ) );
next += detail;
}
}
next -= distance;
first = false;
lastX = thisX;
lastY = thisY;
break;
}
it.next();
}

return result;
}

private float randomize( float x ) {
return x+(float)Math.random()*amplitude*2-1;
}

}
• March 20th, 2014, 07:47 PM
Norm
Re: How to the main method for this class
Quote:

help me with the main method
Please explain what the main method is supposed to do. Be specific and give details.