[skycastle-commits] SF.net SVN: skycastle: [496] trunk/skycastle/modules/ui/src/main/java/org/ skycastle/sketch/rendering/StrokeRenderer.java

  • From: zzorn@xxxxxxxxxxxxxxxxxxxxx
  • To: skycastle-commits@xxxxxxxxxxxxx
  • Date: Mon, 28 Apr 2008 13:19:44 -0700

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.

Other related posts:

  • » [skycastle-commits] SF.net SVN: skycastle: [496] trunk/skycastle/modules/ui/src/main/java/org/ skycastle/sketch/rendering/StrokeRenderer.java