[Patchanim-commit] SF.net SVN: patchanim: [98] trunk/patchanim/src/com/mebigfatguy/patchanim/ surfa
Brought to you by:
dbrosius
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. |