title: Compare two Vector3's
body: <p>I am not sure If I am comparing these <code>Vector3</code>'s correctly.</p>
  
  <p>What I am doing, is this:</p>
  
  <pre><code>HashSet&lt;Vector3&gt; handles = new HashSet&lt;Vector3&gt;();
  Vector3[] vertices;
  HashSet&lt;Vector3&gt; selectedHandles;
  
  void OnEnable(){
      Creator t = (Creator)target;
      Mesh mesh = t.GetComponent&lt;MeshFilter&gt;().sharedMesh;
      if (mesh != null) {
          vertices = mesh.vertices;
          Vector3 lp = t.transform.position;
          foreach(Vector3 v in vertices){
              Vector3 p = (lp - v);
              handles.Add(new Vector3(p.x, -p.z, p.y));
          }
      }
  }
  </code></pre>
  
  <p>This method is taking the vertices from a mesh and saving them when the object is selected (note that <code>new Vector3(p.x, -p.z, p.y)</code> x and y are reversed due to how the mesh gets imported. This allows me to align the next section of code with the mesh).</p>
  
  <p>I then add the handles within a radius of the mouse, but for simplicity, I will removed it in the following. Now, when I click on the mesh, I am trying to compare my <code>selectedHandles</code> to the vertices in the array, but for some reason my code doesn't see them.</p>
  
  <pre><code>public void OnSceneGUI(){
      selectedHandles = new HashSet&lt;Vector3&gt;();
      foreach(Vector3 handle in handles){
          Handles.FreeMoveHandle(handle, Quaternion.identity, 0.001f, Vector3.zero, Handles.DotCap);
          selectedHandles.Add(handle);
      }
      CompareSelected();
  }
  
  void CompareSelected(){
      if(Event.current.type == EventType.mouseDown){
          foreach(Vector3 handle in selectedHandles){
              for(int i = 0; i &lt; vertices.Length; i++){
                  if(Vector3.Distance(vertices[i], handle) &lt; 0.01f){
                      Debug.Log("Hi");
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>I am comparing incorrectly?</p>