Thread: [Patchanim-commit] SF.net SVN: patchanim: [27] trunk/patchanim/src/com/mebigfatguy/patchanim/ surfa
Brought to you by:
dbrosius
From: <dbr...@us...> - 2008-01-27 00:23:57
|
Revision: 27 http://patchanim.svn.sourceforge.net/patchanim/?rev=27&view=rev Author: dbrosius Date: 2008-01-26 16:24:02 -0800 (Sat, 26 Jan 2008) Log Message: ----------- enforce the ORDER constant throughout the app Modified Paths: -------------- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchGenerator.java Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java 2008-01-27 00:17:33 UTC (rev 26) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java 2008-01-27 00:24:02 UTC (rev 27) @@ -30,9 +30,9 @@ private EnumMap<PatchColor, PatchCoords> patches = new EnumMap<PatchColor, PatchCoords>(PatchColor.class); public CombinedPatch() { - patches.put(PatchColor.Red, buildRandomPatch()); - patches.put(PatchColor.Green, buildRandomPatch()); - patches.put(PatchColor.Blue, buildRandomPatch()); + patches.put(PatchColor.Red, PatchCoords.buildRandomPatch()); + patches.put(PatchColor.Green, PatchCoords.buildRandomPatch()); + patches.put(PatchColor.Blue, PatchCoords.buildRandomPatch()); } public CombinedPatch(PatchCoords redPatch, PatchCoords greenPatch, PatchCoords bluePatch) { @@ -41,17 +41,6 @@ patches.put(PatchColor.Blue, bluePatch); } - private PatchCoords buildRandomPatch() { - Coordinate[][] coords = new Coordinate[4][4]; - Random r = new Random(); - for (int u = 0; u < 4; u++) { - for (int v = 0; v < 4; v++) { - coords[u][v] = new Coordinate(u * 33, v * 33, r.nextInt(256)); - } - } - return new PatchCoords(coords); - } - public PatchCoords getPatch(PatchColor color) { return patches.get(color); } Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java 2008-01-27 00:17:33 UTC (rev 26) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java 2008-01-27 00:24:02 UTC (rev 27) @@ -20,12 +20,26 @@ import java.io.Serializable; import java.util.Arrays; +import java.util.Random; public class PatchCoords implements Serializable { private static final long serialVersionUID = -4052789167154764908L; + public static final int ORDER = 4; + private Coordinate[][] coords; + public static PatchCoords buildRandomPatch() { + Coordinate[][] coords = new Coordinate[PatchCoords.ORDER][PatchCoords.ORDER]; + Random r = new Random(); + for (int u = 0; u < PatchCoords.ORDER; u++) { + for (int v = 0; v < PatchCoords.ORDER; v++) { + coords[u][v] = new Coordinate((u * 100) / (PatchCoords.ORDER - 1), (v * 100) / (PatchCoords.ORDER - 1), r.nextInt(256)); + } + } + return new PatchCoords(coords); + } + public PatchCoords(Coordinate[][] coordinates) { coords = coordinates; } Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchGenerator.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchGenerator.java 2008-01-27 00:17:33 UTC (rev 26) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchGenerator.java 2008-01-27 00:24:02 UTC (rev 27) @@ -26,7 +26,6 @@ import com.mebigfatguy.patchanim.PatchColor; public class PatchGenerator { - private static final int ORDER = 4; private PatchGenerator() { } @@ -40,8 +39,8 @@ double u, u2, u3, oneMinusU, oneMinusU2, oneMinusU3; double v, v2, v3, oneMinusV, oneMinusV2, oneMinusV3; - double[] uCoeffs = new double[ORDER]; - double[] vCoeffs = new double[ORDER]; + double[] uCoeffs = new double[PatchCoords.ORDER]; + double[] vCoeffs = new double[PatchCoords.ORDER]; double[] value = new double[3]; int[] iValue = new int[3]; @@ -76,8 +75,8 @@ value[0] = value[1] = value[2] = 0.0; - for (int i = 0; i < ORDER; i++) { - for (int j = 0; j < ORDER; j++) { + for (int i = 0; i < PatchCoords.ORDER; i++) { + for (int j = 0; j < PatchCoords.ORDER; j++) { double coeff = uCoeffs[i] * vCoeffs[j]; for (int k = 0; k < 3; k++) { value[k] += coords[k].getCoordinate(i, j).getColor() * coeff; @@ -103,8 +102,8 @@ double u, u2, u3, oneMinusU, oneMinusU2, oneMinusU3; double v, v2, v3, oneMinusV, oneMinusV2, oneMinusV3; - double[] uCoeffs = new double[ORDER]; - double[] vCoeffs = new double[ORDER]; + double[] uCoeffs = new double[PatchCoords.ORDER]; + double[] vCoeffs = new double[PatchCoords.ORDER]; int sampleSizeX = image.getWidth(); int sampleSizeY = image.getHeight(); @@ -136,8 +135,8 @@ vCoeffs[3] = v3; double value = 0.0; - for (int i = 0; i < ORDER; i++) { - for (int j = 0; j < ORDER; j++) { + for (int i = 0; i < PatchCoords.ORDER; i++) { + for (int j = 0; j < PatchCoords.ORDER; j++) { value += coords.getCoordinate(i, j).getColor() * uCoeffs[i] * vCoeffs[j]; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dbr...@us...> - 2008-02-03 03:05:22
|
Revision: 98 http://patchanim.svn.sourceforge.net/patchanim/?rev=98&view=rev Author: dbrosius Date: 2008-02-02 19:05:27 -0800 (Sat, 02 Feb 2008) Log Message: ----------- fix cloning Modified Paths: -------------- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java trunk/patchanim/src/com/mebigfatguy/patchanim/surface/Coordinate.java trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java 2008-02-03 02:39:39 UTC (rev 97) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/CombinedPatch.java 2008-02-03 03:05:27 UTC (rev 98) @@ -56,8 +56,9 @@ public Object clone() { try { CombinedPatch clonedPatch = (CombinedPatch)super.clone(); + clonedPatch.patches = new EnumMap<PatchColor, PatchCoords>(PatchColor.class); for (Map.Entry<PatchColor, PatchCoords> entry : patches.entrySet()) { - entry.setValue((PatchCoords)entry.getValue().clone()); + clonedPatch.patches.put(entry.getKey(), (PatchCoords)entry.getValue().clone()); } return clonedPatch; } catch (CloneNotSupportedException cnse) { Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/Coordinate.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/Coordinate.java 2008-02-03 02:39:39 UTC (rev 97) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/Coordinate.java 2008-02-03 03:05:27 UTC (rev 98) @@ -20,7 +20,7 @@ import java.io.Serializable; -public class Coordinate implements Serializable { +public class Coordinate implements Serializable, Cloneable { private static final long serialVersionUID = 5211344767856486552L; @@ -32,6 +32,15 @@ color = colorVal; } + @Override + public Object clone() { + try { + return super.clone(); + } catch (CloneNotSupportedException cnse) { + return new Coordinate(0.0, 0.0, 0.0); + } + } + public double getX() { return x; } Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java 2008-02-03 02:39:39 UTC (rev 97) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/surface/PatchCoords.java 2008-02-03 03:05:27 UTC (rev 98) @@ -51,7 +51,14 @@ @Override public Object clone() { try { - return super.clone(); + PatchCoords clonedCoords = (PatchCoords)super.clone(); + clonedCoords.coords = new Coordinate[ORDER][ORDER]; + for (int u = 0; u < PatchCoords.ORDER; u++) { + for (int v = 0; v < PatchCoords.ORDER; v++) { + clonedCoords.coords[u][v] = (Coordinate)coords[u][v].clone(); + } + } + return clonedCoords; } catch (CloneNotSupportedException cnse) { return buildRandomPatch(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |