Esempio n. 1
0
        public override Element addTuple(int level, Tuple tuple)
        {
            float dimValue = tuple.getDimensionValue(dim);

            ++count;
            bool addLeft;

            if (dimValue < maxLeft)
            {
                addLeft = true;
            }
            else if (dimValue > minRight)
            {
                addLeft = false;
            }
            else if (dimValue == maxLeft)
            {
                if (dimValue == minRight)
                {
                    if (eleLeft.count < eleRight.count)
                    {
                        addLeft = true;
                    }
                    else
                    {
                        addLeft = false;
                    }
                }
                else
                {
                    addLeft = true;
                }
            }
            else if (dimValue == minRight)
            {
                addLeft = false;
            }
            else
            {
                if (eleLeft.count < eleRight.count)
                {
                    addLeft = true;
                }
                else
                {
                    addLeft = false;
                }
            }
            if (addLeft)
            {
                if (dimValue < minLeft)
                {
                    minLeft = dimValue;
                }
                else if (dimValue > maxLeft)
                {
                    maxLeft = dimValue;
                }
                eleLeft = eleLeft.addTuple(level + 1, tuple);
            }
            else
            {
                if (dimValue < minRight)
                {
                    minRight = dimValue;
                }
                else if (dimValue > maxRight)
                {
                    maxRight = dimValue;
                }
                eleRight = eleRight.addTuple(level + 1, tuple);
            }
            return(this);
        }
Esempio n. 2
0
 /**
  * Iterate through all of your data points, calling addTuple
  * @param tuple
  */
 public void addTuple(Tuple tuple)
 {
     eleRoot = eleRoot.addTuple(0, tuple);
 }