Esempio n. 1
0
    public void OnSelectTreeView(int state)
    {
        GameManager.DebugLog("Selecting new view: " + state + " or " + (TreeState)state);
        Current_Tree_State = (TreeState)state;

        switch (Current_Tree_State)
        {
        case TreeState.BasicTree:
            viewIn3DToggle.isOn = false;
            Draw_Tree_In_3D     = false;
            controllerFunctionPanel.SetActive(true);
            break;

        case TreeState.TerrainTree:
            viewIn3DToggle.isOn = false;
            Draw_Tree_In_3D     = false;
            OnSelectMove();
            controllerFunctionPanel.SetActive(false);
            break;

        case TreeState.CircularTree:
            controllerFunctionPanel.SetActive(true);
            break;
        }



        treeBuilder.BuildTree(TreeLoader.CurrentTree);
    }
Esempio n. 2
0
        private AiStrategy BuildAiStrategy(TreeSpec spec)
        {
            var tree         = _treeBuilder.BuildTree <TROOTNODE>(_treebuildingstrategy.WithSpec(spec));
            var aiStrategyId = new AiStrategy.AiStrategyId();

            return(new AiStrategy(tree as Function <ResponseVotes>, aiStrategyId));
        }
Esempio n. 3
0
    public void Cycle_indirectly()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 5, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 3, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 6
            },
            new TreeBuildingRecord {
                RecordId = 4, ParentId = 1
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 6, ParentId = 3
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 4
0
    private void UpdateForces()
    {
        TreeBuilder builder = new TreeBuilder(bodies, InitialSizePower);
        var         node    = builder.BuildTree();

        CalculateForces(node, node);
    }
Esempio n. 5
0
    public void More_than_two_children()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 3, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            }
        };

        var tree = TreeBuilder.BuildTree(records);

        AssertTreeIsBranch(tree, id: 0, childCount: 3);
        AssertTreeIsLeaf(tree.Children[0], id: 1);
        AssertTreeIsLeaf(tree.Children[1], id: 2);
        AssertTreeIsLeaf(tree.Children[2], id: 3);
    }
Esempio n. 6
0
    public void Cycle_directly()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 5, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 3, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 4, ParentId = 1
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 6, ParentId = 3
            }
        };

        Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
    }
Esempio n. 7
0
 private static void Main(string[] args)
 {
     var seed        = new Random().Next();
     var rndSource   = new RandomWrapper(seed);
     var treeBuilder = new TreeBuilder(rndSource);
     var tree        = treeBuilder.BuildTree();
 }
Esempio n. 8
0
        public void BuildTree_SimpleTree()
        {
            //Arrange
            var processor = new InputProcessorMockup();
            var leafTree  = processor.BuildSimpleTree();
            var builder   = new TreeBuilder(leafTree);

            //Act
            builder.BuildTree();

            //Assert
            Assert.AreEqual(builder.tree.Count, 1);
            var root = builder.tree.First();

            Assert.IsTrue(root.GetType() != typeof(Leaf));
            Assert.AreEqual(root.frequency, 6);
            Assert.AreEqual(root.creationId, 2);

            Assert.IsTrue(root.left.GetType() == typeof(Leaf));
            Assert.AreEqual(root.left.character, Convert.ToByte('a'));
            Assert.AreEqual(root.left.frequency, 3);

            Assert.IsTrue(root.right.GetType() != typeof(Leaf));
            Assert.AreEqual(root.right.frequency, 3);
            Assert.AreEqual(root.right.creationId, 1);

            Assert.IsTrue(root.right.left.GetType() == typeof(Leaf));
            Assert.AreEqual(root.right.left.character, Convert.ToByte('c'));
            Assert.AreEqual(root.right.left.frequency, 1);

            Assert.IsTrue(root.right.right.GetType() == typeof(Leaf));
            Assert.AreEqual(root.right.right.character, Convert.ToByte('b'));
            Assert.AreEqual(root.right.right.frequency, 2);
        }
Esempio n. 9
0
        /// <summary>
        /// Decoding of encoded bytes by Huffman algorithm.
        /// </summary>
        /// <param name="bytes"> Encoded bytes</param>
        /// <returns> Decoded bytes</returns>
        public static byte[] Decode(byte[] bytes)
        {
            var result = DictionarySerializer.Deserialize(bytes);

            return(Decode(bytes,
                          result.SizeOfBytes,
                          TreeBuilder.BuildTree(new TreeBuilderQueue(result.Dictionary))));
        }
Esempio n. 10
0
        private void UpdateSeed(int newSeed)
        {
            var treeRndSource = new RandomWrapper(newSeed);
            var treeBuilder   = new TreeBuilder(treeRndSource);

            trunk       = treeBuilder.BuildTree();
            grassRandom = new RandomWrapper(newSeed);
        }
Esempio n. 11
0
 public void BuildTreeFromArrayList()
 {
     var list = new ArrayList()
     {
         1, 2, 3, null, 5, 6, 7
     };
     var root = TreeBuilder.BuildTree(list);
 }
Esempio n. 12
0
        public ViewResult Manage(string id, string sectionId, string adName)
        {
            var allNodes = db.Set <NaviNode>().OrderBy(e => e.NodeName).ToList();

            TreeBuilder tb = new TreeBuilder(allNodes);

            IEnumerable <SelectListItem> sections = tb.BuildTree();

            ViewBag.AccessModes = AccessModes;

            IEnumerable <SelectListItem> users = db.Set <CmsUser>().OrderBy(e => e.UserName)
                                                 .ToList().Select(e => new SelectListItem
            {
                Value = e.AdName,
                Text  = e.UserName
            });

            ViewBag.Users = users;

            //pre-selected information
            if (!String.IsNullOrWhiteSpace(sectionId))
            {
                int      sid = Convert.ToInt32(sectionId);
                NaviNode n   = db.Set <NaviNode>().SingleOrDefault(e => e.Id == sid);

                if (n != null)
                {
                    ViewBag.SectionId = sid;
                }
            }

            //current user role
            if (!String.IsNullOrWhiteSpace(id))
            {
                int     pageId = Convert.ToInt32(id);
                CmsPage p      = db.Set <CmsPage>().SingleOrDefault(e => e.Id == pageId);

                if (p != null)
                {
                    ViewBag.SectionId = p.NaviNode.Id;
                    ViewBag.PageId    = pageId;
                }
            }

            if (!String.IsNullOrWhiteSpace(adName))
            {
                CmsUser u = db.Set <CmsUser>().SingleOrDefault(e => e.AdName == adName);

                if (u != null)
                {
                    ViewBag.AdName = adName;
                }
            }

            ViewBag.RoleId = SecurityHelper.CurrentCmsUserRole(db);
            return(View(sections));
        }
Esempio n. 13
0
        /// <summary>
        /// Encoding bytes to huffman algorithm.
        /// </summary>
        /// <param name="bytes"> Source bytes </param>
        /// <returns> Encoded bytes </returns>
        public static byte[] Encode(byte[] bytes)
        {
            var dictionary = BytesCalculator.Calculate(bytes);

            var header = DictionarySerializer.Serialize(dictionary);
            var body   = Encode(bytes,
                                BitTable.BuildTable(TreeBuilder.BuildTree(new TreeBuilderQueue(dictionary))));

            return(Merage(header, body));
        }
Esempio n. 14
0
        public void TestTreeWithTwoTiles()
        {
            var lyonTile        = new TileInfo(50, 0, 5, 5, 1, 1);
            var machuPicchuTile = new TileInfo(-10, -75, 5, 5, 1, 1);
            var root            = TreeBuilder.BuildTree(new[] { lyonTile, machuPicchuTile });

            Check.That(root.IsEmpty).IsFalse();
            Check.That(root.GetTile(45.75, 4.85)).IsEqualTo(lyonTile);
            Check.That(root.GetTile(0, 0)).IsNull();
            Check.That(root.GetTile(-13.163, -72.545)).IsEqualTo(machuPicchuTile);
        }
Esempio n. 15
0
        private Tree Load(string treeId, XDocument document)
        {
            Tree tree = TreeBuilder.BuildTree(treeId, document);

            //if (tree.BuildResult.ValidationErrors.Count() == 0)
            //{
            //    tree.LogTree();
            //}

            return(tree);
        }
Esempio n. 16
0
    public void No_root_node()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 17
0
    public void One_node()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            }
        };

        var tree = TreeBuilder.BuildTree(records);

        AssertTreeIsLeaf(tree, id: 0);
    }
Esempio n. 18
0
    public void Root_node_has_parent()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 1
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            }
        };

        Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
    }
Esempio n. 19
0
        /// <summary>
        /// Build a decoder tree.
        /// </summary>
        private Node BuildTree(Specification spec, TristateBitArray?flags)
        {
            var  stopwatch = Stopwatch.StartNew();
            Node?node      = TreeBuilder.BuildTree(spec, flags);

            stopwatch.Stop();

            if (config.Timings)
            {
                Console.WriteLine($"Generated decoder tree in {stopwatch.ElapsedMilliseconds}ms.");
            }

            return(node);
        }
Esempio n. 20
0
    public void Root_node_is_duplicate()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 21
0
        public void BuildTree_OneNode()
        {
            //Arrange
            var leafTree = new SortedSet <INode>(new NodeComparer());
            var node     = new Leaf(Convert.ToByte(0x1f), 4);

            leafTree.Add(node);
            var builder = new TreeBuilder(leafTree);

            //Act
            builder.BuildTree();

            //Assert
            Assert.AreEqual(builder.tree.Count, 1);
            Assert.AreEqual(builder.tree.First(), node);
        }
Esempio n. 22
0
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("hello world");
        TreeBuilder builder = new TreeBuilder();
        var         nodes   = builder.BuildTree();

        /* nodes is now a list of all the questions read in from the file
         * Need to use the reverse tree traversal method and build up a tree
         * out of DecisionTreeNodes*/
        DecisionTreeNode rootNode = new DecisionTreeNode();

        rootNode.QuestionToAsk = nodes[0].QuestionToAsk;
        rootNode.IsLeafNode    = nodes[0].IsLeafNode;

        rootNode.TrueResponseNode  = null;
        rootNode.FalseResponseNode = null;
    }
Esempio n. 23
0
    public void Higher_id_parent_of_lower_id()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 2
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 24
0
        public void PrintTree_PrintSimpleTree()
        {
            //Arrange
            var processor = new InputProcessorMockup();
            var leafTree  = processor.BuildSimpleTree();
            var builder   = new TreeBuilder(leafTree);

            using (StringWriter stringWriter = new StringWriter())
            {
                //Act
                builder.BuildTree();
                Console.SetOut(stringWriter);
                builder.PrintTree(builder.tree.First());

                //Assert
                Assert.AreEqual("6 *97:3 3 *99:1 *98:2", stringWriter.ToString());
            }
        }
Esempio n. 25
0
        private void LoadTreeView(string directory, bool waitWindow = true)
        {
            if (waitWindow)
            {
                ArcWaitWindow.ArcWaitWindow.Show(LoadTreeView, @"Building file tree...", directory);
            }
            else
            {
                if (Directory.Exists(directory))
                {
                    //temporarily offload to a variable in order to keep UI responsive when it finally gets updated
                    var rootNode = new TreeNode();
                    TreeBuilder.BuildTree(new DirectoryInfo(directory), rootNode.Nodes);

                    //refresh TreeView
                    TreeViewRepaint(rootNode.Nodes);
                }
            }
        }
Esempio n. 26
0
    public void Duplicate_Record_ID()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 1
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 27
0
    public void Non_continuous()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 4, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            }
        };

        Assert.Throws <ArgumentException>(() => TreeBuilder.BuildTree(records));
    }
Esempio n. 28
0
    public void Three_nodes_in_reverse_order()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            }
        };

        var tree = TreeBuilder.BuildTree(records);

        AssertTreeIsBranch(tree, id: 0, childCount: 2);
        AssertTreeIsLeaf(tree.Children[0], id: 1);
        AssertTreeIsLeaf(tree.Children[1], id: 2);
    }
Esempio n. 29
0
    public void Binary_tree()
    {
        var records = new[]
        {
            new TreeBuildingRecord {
                RecordId = 5, ParentId = 1
            },
            new TreeBuildingRecord {
                RecordId = 3, ParentId = 2
            },
            new TreeBuildingRecord {
                RecordId = 2, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 4, ParentId = 1
            },
            new TreeBuildingRecord {
                RecordId = 1, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 0, ParentId = 0
            },
            new TreeBuildingRecord {
                RecordId = 6, ParentId = 2
            }
        };

        var tree = TreeBuilder.BuildTree(records);

        AssertTreeIsBranch(tree, id: 0, childCount: 2);
        AssertTreeIsBranch(tree.Children[0], id: 1, childCount: 2);
        AssertTreeIsBranch(tree.Children[1], id: 2, childCount: 2);

        AssertTreeIsLeaf(tree.Children[0].Children[0], id: 4);
        AssertTreeIsLeaf(tree.Children[0].Children[1], id: 5);
        AssertTreeIsLeaf(tree.Children[1].Children[0], id: 3);
        AssertTreeIsLeaf(tree.Children[1].Children[1], id: 6);
    }
Esempio n. 30
0
 private int[] UwzglednijPoziomyZagniezdzone(int aktualnyPoziom, bool uwzglednijBrygady)
 {
     #region przygotowanie drzewa
     List <TreeNode> _nodes = new List <TreeNode>();
     if (uwzglednijBrygady)
     {
         var wydzialy = context.Wydzialy;
         foreach (Wydzial w in wydzialy)
         {
             _nodes.Add(new TreeNode {
                 id = w.ID, text = w.Nazwa, parent = w.IDParent.ToString()
             });
         }
         Tree tree = TreeBuilder.BuildTree(_nodes);
         // dodanie podległych działów do wyniku - potomków w drzewie
         Tree        y = TreeExtensions.FindNode(tree, aktualnyPoziom);
         List <Tree> x = TreeExtensions.Descendants(y).ToList();
         return(x.Select(t => ( int )t.Id).ToArray());
     }
     else
     {
         var wydzialy = context.Wydzialy.Where(w => w.IsBrygada == uwzglednijBrygady);
         foreach (Wydzial w in wydzialy)
         {
             _nodes.Add(new TreeNode {
                 id = w.ID, text = w.Nazwa, parent = w.IDParent.ToString()
             });
         }
         Tree tree = TreeBuilder.BuildTree(_nodes);
         // dodanie podległych działów do wyniku - potomków w drzewie
         Tree        y = TreeExtensions.FindNode(tree, aktualnyPoziom);
         List <Tree> x = TreeExtensions.Descendants(y).ToList();
         return(x.Select(t => ( int )t.Id).ToArray());
     }
     #endregion
 }
Esempio n. 31
0
        /// <summary>
        /// The background worker add tree do work.
        /// </summary>
        /// <param name="sender">
        /// The sender. 
        /// </param>
        /// <param name="e">
        /// The e. 
        /// </param>
        private void BackgroundWorkerAddTreeDoWork(object sender, DoWorkEventArgs e)
        {
            var factory = e.Argument as ITreeFactory;
            var treeBuilder = new TreeBuilder(this.provider, this.textBoxName.Text.Trim(), this.backgroundWorkerAddTree);

                if (this.fromFile)
                {
                    if (factory != null && factory.NeedDegree)
                    {
                        if (!this.group)
                        {
                            if (this.mode == 0)
                            {
                                treeBuilder.BuildTreeFromFile<string>(factory, int.Parse(maskedTextBoxDegree.Text));
                            }

                            if (this.mode == 1)
                            {
                                treeBuilder.BuildTreeFromFile<double>(factory, int.Parse(maskedTextBoxDegree.Text));
                            }
                        }
                        else
                        {
                            if (this.mode == 0)
                            {
                                treeBuilder.BuildBatchTree<string>(factory, int.Parse(maskedTextBoxDegree.Text));
                            }

                            if (this.mode == 1)
                            {
                                treeBuilder.BuildBatchTree<double>(factory, int.Parse(maskedTextBoxDegree.Text));
                            }

                            this.typeOfTrees = treeBuilder.TypeOfTrees;
                            this.noOfTrees = treeBuilder.NumberOfTrees;
                            this.groupTreeName = this.textBoxName.Text.Trim();
                        }
                    }
                    else
                    {
                        if (!this.group)
                        {
                            if (this.mode == 0)
                            {
                                treeBuilder.BuildTreeFromFile<string>(factory);
                            }

                            if (this.mode == 1)
                            {
                                treeBuilder.BuildTreeFromFile<double>(factory);
                            }
                        }
                        else
                        {
                            if (this.mode == 0)
                            {
                                treeBuilder.BuildBatchTree<string>(factory);
                            }

                            if (this.mode == 1)
                            {
                                treeBuilder.BuildBatchTree<double>(factory);
                            }

                            this.typeOfTrees = treeBuilder.TypeOfTrees;
                            this.noOfTrees = treeBuilder.NumberOfTrees;
                            this.groupTreeName = this.textBoxName.Text.Trim();
                        }
                    }
                }
                else
                {
                    if (factory != null && factory.NeedDegree)
                    {
                        if (this.mode == 0)
                        {
                            treeBuilder.BuildTree<string>(factory, int.Parse(maskedTextBoxDegree.Text));
                        }

                        if (this.mode == 1)
                        {
                            treeBuilder.BuildTree<double>(factory, int.Parse(maskedTextBoxDegree.Text));
                        }
                    }
                    else
                    {
                        if (this.mode == 0)
                        {
                            treeBuilder.BuildTree<string>(factory);
                        }

                        if (this.mode == 1)
                        {
                            treeBuilder.BuildTree<double>(factory);
                        }
                    }
                }

                e.Result = true;
        }