Transform: implement equals and hashCode
This commit is contained in:
parent
1575e2a1d3
commit
57d560244e
@ -49,7 +49,7 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable
|
|||||||
|
|
||||||
private Quaternion rot = new Quaternion();
|
private Quaternion rot = new Quaternion();
|
||||||
private Vector3f translation = new Vector3f();
|
private Vector3f translation = new Vector3f();
|
||||||
private Vector3f scale = new Vector3f(1,1,1);
|
private Vector3f scale = new Vector3f(1, 1, 1);
|
||||||
|
|
||||||
public Transform(Vector3f translation, Quaternion rot){
|
public Transform(Vector3f translation, Quaternion rot){
|
||||||
this.translation.set(translation);
|
this.translation.set(translation);
|
||||||
@ -283,9 +283,32 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable
|
|||||||
* Loads the identity. Equal to translation=0,0,0 scale=1,1,1 rot=0,0,0,1.
|
* Loads the identity. Equal to translation=0,0,0 scale=1,1,1 rot=0,0,0,1.
|
||||||
*/
|
*/
|
||||||
public void loadIdentity() {
|
public void loadIdentity() {
|
||||||
translation.set(0,0,0);
|
translation.set(0, 0, 0);
|
||||||
scale.set(1,1,1);
|
scale.set(1, 1, 1);
|
||||||
rot.set(0,0,0,1);
|
rot.set(0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int hash = 7;
|
||||||
|
hash = 89 * hash + rot.hashCode();
|
||||||
|
hash = 89 * hash + translation.hashCode();
|
||||||
|
hash = 89 * hash + scale.hashCode();
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
final Transform other = (Transform) obj;
|
||||||
|
return this.translation.equals(other.translation)
|
||||||
|
&& this.scale.equals(other.scale)
|
||||||
|
&& this.rot.equals(other.rot);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -307,22 +330,21 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void write(JmeExporter e) throws IOException {
|
public void write(JmeExporter e) throws IOException {
|
||||||
OutputCapsule capsule = e.getCapsule(this);
|
OutputCapsule capsule = e.getCapsule(this);
|
||||||
capsule.write(rot, "rot", new Quaternion());
|
capsule.write(rot, "rot", Quaternion.IDENTITY);
|
||||||
capsule.write(translation, "translation", Vector3f.ZERO);
|
capsule.write(translation, "translation", Vector3f.ZERO);
|
||||||
capsule.write(scale, "scale", Vector3f.UNIT_XYZ);
|
capsule.write(scale, "scale", Vector3f.UNIT_XYZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void read(JmeImporter e) throws IOException {
|
public void read(JmeImporter e) throws IOException {
|
||||||
InputCapsule capsule = e.getCapsule(this);
|
InputCapsule capsule = e.getCapsule(this);
|
||||||
|
|
||||||
rot = (Quaternion)capsule.readSavable("rot", new Quaternion());
|
rot.set((Quaternion)capsule.readSavable("rot", Quaternion.IDENTITY));
|
||||||
translation = (Vector3f)capsule.readSavable("translation", null);
|
translation.set((Vector3f)capsule.readSavable("translation", Vector3f.ZERO));
|
||||||
if( translation == null ) {
|
scale.set((Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ));
|
||||||
translation = new Vector3f();
|
|
||||||
}
|
|
||||||
scale = (Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user