[Polycasso-commit] SF.net SVN: polycasso:[67] trunk/polycasso/src/com/mebigfatguy/polycasso/ Improv
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2009-11-27 00:43:23
|
Revision: 67
http://polycasso.svn.sourceforge.net/polycasso/?rev=67&view=rev
Author: dbrosius
Date: 2009-11-27 00:07:37 +0000 (Fri, 27 Nov 2009)
Log Message:
-----------
if an improvement type is impossible, mark it as failed
Modified Paths:
--------------
trunk/polycasso/src/com/mebigfatguy/polycasso/Improver.java
Modified: trunk/polycasso/src/com/mebigfatguy/polycasso/Improver.java
===================================================================
--- trunk/polycasso/src/com/mebigfatguy/polycasso/Improver.java 2009-11-26 23:37:41 UTC (rev 66)
+++ trunk/polycasso/src/com/mebigfatguy/polycasso/Improver.java 2009-11-27 00:07:37 UTC (rev 67)
@@ -103,6 +103,7 @@
} else {
randomCompleteChange();
type = ImprovementType.CompleteChange;
+ typeWasSuccessful(ImprovementType.AddPolygon, false);
}
}
break;
@@ -136,6 +137,7 @@
} else {
randomCompleteChange();
type = ImprovementType.CompleteChange;
+ typeWasSuccessful(ImprovementType.AddPoint, false);
}
}
break;
@@ -154,6 +156,7 @@
} else {
randomCompleteChange();
type = ImprovementType.CompleteChange;
+ typeWasSuccessful(ImprovementType.RemovePoint, false);
}
}
break;
@@ -197,6 +200,7 @@
} else {
randomCompleteChange();
type = ImprovementType.CompleteChange;
+ typeWasSuccessful(ImprovementType.ReorderPoly, false);
}
}
break;
@@ -239,6 +243,22 @@
}
break;
+ case ShiftPoly: {
+ int idx = r.nextInt(polygons.size());
+ PolygonData pd = (PolygonData)polygons.get(idx).clone();
+ Polygon polygon = pd.getPolygon();
+ int shiftX = r.nextInt(2 * MAX_PT_MOVEMENT) + MAX_PT_MOVEMENT;
+ int shiftY = r.nextInt(2 * MAX_PT_MOVEMENT) + MAX_PT_MOVEMENT;
+ for (int i = 0; i < polygon.npoints; i++) {
+ polygon.xpoints[i] += shiftX;
+ polygon.ypoints[i] += shiftY;
+ polygon.xpoints[i] = clipToRange(0, imageSize.width, polygon.xpoints[i]);
+ polygon.ypoints[i] = clipToRange(0, imageSize.height, polygon.ypoints[i]);
+ }
+ polygons.set(idx, pd);
+ }
+ break;
+
case ChangeColor: {
int idx = r.nextInt(polygons.size());
PolygonData pd = (PolygonData)polygons.get(idx).clone();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|