[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.
|