Revision: 496 http://skycastle.svn.sourceforge.net/skycastle/?rev=496&view=rev Author: zzorn Date: 2008-04-28 13:19:33 -0700 (Mon, 28 Apr 2008) Log Message: ----------- Fixed an issue that caused problems for straight strokes. End result looks much smoother now, only problems at slow strokes and sharp edges. Modified Paths: -------------- trunk/skycastle/modules/ui/src/main/java/org/skycastle/sketch/rendering/StrokeRenderer.java Modified: trunk/skycastle/modules/ui/src/main/java/org/skycastle/sketch/rendering/StrokeRenderer.java =================================================================== --- trunk/skycastle/modules/ui/src/main/java/org/skycastle/sketch/rendering/StrokeRenderer.java 2008-04-28 19:58:02 UTC (rev 495) +++ trunk/skycastle/modules/ui/src/main/java/org/skycastle/sketch/rendering/StrokeRenderer.java 2008-04-28 20:19:33 UTC (rev 496) @@ -82,7 +82,7 @@ false ); private static final int NUMBER_OF_TRIANGLES_PER_SEGMENT = 4; private static final int NUMBER_OF_INDICES_IN_SEGMENT = 3 * NUMBER_OF_TRIANGLES_PER_SEGMENT; - private static final float DEFAULT_WIDTH = 28f; + private static final float DEFAULT_WIDTH = 33f; private static final float DEFAULT_RED = 0; private static final float DEFAULT_GREEN = 0; private static final float DEFAULT_BLUE = 0f; @@ -296,22 +296,27 @@ private void initializeVetices() { + final DataSample pointStatePrevious = new DataSample(); final DataSample pointState = new DataSample(); + final DataSample pointStateNext = new DataSample(); int pointIndex = 0; final int numberOfPoints = myStroke.getPoints().size(); for ( int i = 0; i < numberOfPoints; i++ ) { - final int prevIndex = Math.max( i - 1, 0 ); final int nextIndex = Math.min( i + 1, numberOfPoints - 1 ); - final DataSample previousPoint = myStroke.getPoints().get( prevIndex ); final DataSample strokePoint = myStroke.getPoints().get( i ); final DataSample nextPoint = myStroke.getPoints().get( nextIndex ); + pointStateNext.updateValuesWith( strokePoint ); + pointStateNext.updateValuesWith( nextPoint ); + pointState.updateValuesWith( strokePoint ); - initializePoint( pointState, pointIndex++, previousPoint, nextPoint ); + initializePoint( pointState, pointIndex++, pointStatePrevious, pointStateNext ); + + pointStatePrevious.updateValuesWith( strokePoint ); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.