Exemple #1
0
 private void GetOrderedChildren(ref int first, ref int second, out float firstDist, out float secondDist, Vector3 p)
 {
     firstDist  = BBTree.SquaredRectPointDistance(this.tree[first].rect, p);
     secondDist = BBTree.SquaredRectPointDistance(this.tree[second].rect, p);
     if (secondDist < firstDist)
     {
         int num = first;
         first  = second;
         second = num;
         float num2 = firstDist;
         firstDist  = secondDist;
         secondDist = num2;
     }
 }
Exemple #2
0
        public NNInfoInternal QueryClosest(Vector3 p, NNConstraint constraint, ref float distance, NNInfoInternal previous)
        {
            float num  = distance * distance;
            float num2 = num;

            if (this.count > 0 && BBTree.SquaredRectPointDistance(this.tree[0].rect, p) < num)
            {
                this.SearchBoxClosest(0, p, ref num, constraint, ref previous);
                if (num < num2)
                {
                    distance = Mathf.Sqrt(num);
                }
            }
            return(previous);
        }