Esempio n. 1
0
 public bool addTuple(Bspt.Tuple tuple)
 {
     if (tuple.getDimValue(dim) < splitValue)
     {
         if (eleLE.addTuple(tuple))
             return true;
         eleLE = new Node((dim + 1) % dimMax, dimMax, (Leaf)eleLE);
         return eleLE.addTuple(tuple);
     }
     if (tuple.getDimValue(dim) > splitValue)
     {
         if (eleGE.addTuple(tuple))
             return true;
         eleGE = new Node((dim + 1) % dimMax, dimMax, (Leaf)eleGE);
         return eleGE.addTuple(tuple);
     }
     if (eleLE.LeafWithSpace)
         eleLE.addTuple(tuple);
     else if (eleGE.LeafWithSpace)
         eleGE.addTuple(tuple);
     else if (eleLE is Node)
         eleLE.addTuple(tuple);
     else if (eleGE is Node)
         eleGE.addTuple(tuple);
     else
     {
         eleLE = new Node((dim + 1) % dimMax, dimMax, (Leaf)eleLE);
         return eleLE.addTuple(tuple);
     }
     return true;
 }
Esempio n. 2
0
 private bool isWithin(Bspt.Tuple t)
 {
     double dist2;
     double distT;
     distT = t.getDimValue(0) - centerValues[0];
     if (tHemisphere && distT < 0)
     {
         return false;
     }
     dist2 = distT * distT;
     if (dist2 > distance2)
     {
         return false;
     }
     for (int dim = bspt.dimMax; --dim > 0; )
     {
         distT = t.getDimValue(dim) - centerValues[dim];
         dist2 += distT * distT;
         if (dist2 > distance2)
         {
             return false;
         }
     }
     this.foundDistance2_Renamed_Field = dist2;
     return true;
 }