Beispiel #1
0
        /// <summary>
        ///     Impresion recursiva
        /// </summary>
        private void doPrintDebugKdTree(KdTreeNode node, int index, StringBuilder sb)
        {
            var lineas = "";

            for (var i = 0; i < index; i++)
            {
                lineas += "-";
            }

            if (node.isLeaf())
            {
                if (node.models.Length > 0)
                {
                    sb.Append(lineas + "Models [" + node.models.Length + "]" + "\n");
                }
                else
                {
                    sb.Append(lineas + "[0]" + "\n");
                }
            }
            else
            {
                sb.Append(lineas + "\n");
                index++;
                for (var i = 0; i < node.children.Length; i++)
                {
                    doPrintDebugKdTree(node.children[i], index, sb);
                }
            }
        }
Beispiel #2
0
 private void obtenerEstadisticas(KdTreeNode node, ref int minModels, ref int maxModels)
 {
     if (node.isLeaf())
     {
         var n = node.models.Length;
         if (n < minModels)
         {
             minModels = n;
         }
         if (n > maxModels)
         {
             maxModels = n;
         }
     }
     else
     {
         for (var i = 0; i < node.children.Length; i++)
         {
             obtenerEstadisticas(node.children[i], ref minModels, ref maxModels);
         }
     }
 }