|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2009-2018 jMonkeyEngine
|
|
|
+ * Copyright (c) 2009-2019 jMonkeyEngine
|
|
|
* All rights reserved.
|
|
|
*
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -874,6 +874,29 @@ public final class Vector4f implements Savable, Cloneable, java.io.Serializable
|
|
|
if (Float.compare(w,comp.w) != 0) return false;
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Returns true if this vector is similar to the specified vector within
|
|
|
+ * some value of epsilon.
|
|
|
+ */
|
|
|
+ public boolean isSimilar(Vector4f other, float epsilon) {
|
|
|
+ if (other == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (Float.compare(Math.abs(other.x - x), epsilon) > 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (Float.compare(Math.abs(other.y - y), epsilon) > 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (Float.compare(Math.abs(other.z - z), epsilon) > 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (Float.compare(Math.abs(other.w - w), epsilon) > 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* <code>hashCode</code> returns a unique code for this vector object based
|
|
@@ -1001,4 +1024,4 @@ public final class Vector4f implements Savable, Cloneable, java.io.Serializable
|
|
|
throw new IllegalArgumentException("index must be either 0, 1, 2 or 3");
|
|
|
}
|
|
|
|
|
|
-}
|
|
|
+}
|