001 package physics3d;
002
003 /**
004 * <code>Vect3Pair</code> is a simple immutable record type representing a
005 * pair of <code>Vect3</code>s.
006 *
007 * @see Vect3
008 */
009 public strictfp class Vect3Pair {
010 public final Vect3 v1;
011
012 public final Vect3 v2;
013
014 /**
015 * Creates a VectPair with <code>v1</code> and <code>v2</code> as given
016 */
017 public Vect3Pair(Vect3 v1, Vect3 v2) {
018 this.v1 = v1;
019 this.v2 = v2;
020 }
021
022 public String toString() {
023 return "[" + v1 + "," + v2 + "]";
024 }
025
026 public boolean equals(Object o) {
027 return (o instanceof Vect3Pair) && equals((Vect3Pair) o);
028 }
029
030 public boolean equals(Vect3Pair p) {
031 if (p == null)
032 return false;
033 return ((v1 == null) ? (p.v1 == null) : v1.equals(p.v1))
034 && ((v2 == null) ? (p.v2 == null) : v2.equals(p.v2));
035 }
036
037 public int hashCode() {
038 return ((v1 == null) ? 0 : (3 * v1.hashCode()))
039 + ((v2 == null) ? 0 : (7 * v2.hashCode()));
040 }
041
042 static final long serialVersionUID = -7049301303826376772L;
043 }