Example #1
0
        private TransmissionState DrillDownBranchRecursive(AggregationTreeNode tnUpper, MatrixManipulator manipulator)
        {
            var stateUpperDesignated = new TransmissionState();

            if (!tnUpper.IsLeaf)
            {
                foreach (var tn in tnUpper.Children)
                {
                    var aggState = DrillDownBranchRecursive(tn, manipulator);
                    var aggValue = manipulator.AggregationFunctionVector[tn.Level](aggState.LevelValues);
                    stateUpperDesignated.LevelValues.Add(aggValue); // pass to upper
                    stateUpperDesignated.TreeNodes.Add(tn);
                    manipulator.setValue(tn.Dimmension, aggValue);
                }
            }
            else
            {
                stateUpperDesignated.LevelValues.Add(manipulator.getValue(tnUpper.Dimmension));
            }

            return(stateUpperDesignated);
        }
Example #2
0
 public void DrillDownTree(MatrixManipulator manipulator)
 {
     DrillDownBranchRecursive(_seedAggregationTree, manipulator);
 }