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; }
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; }