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 }