Ejemplo n.º 1
0
Archivo: Tree.cs Proyecto: 8ffie/fsm
 /// <summary>
 /// Добавить вхождение дерева в словарь вхождений по глубинам
 /// </summary>
 /// <param name="entry">Вхождение дерева</param>
 internal void AddEntry(SubtreeEntry entry)
 {
     if (!DepthEntriesDictionary.ContainsKey(entry.Depth))
     {
         DepthEntriesDictionary.Add(entry.Depth, new DepthEntries(entry.Depth));
     }
     if (!DepthEntriesDictionary[entry.Depth].ContainsEntry(entry))
     {
         if (!SupportTreeSet.Contains(entry.TreeId))
         {
             SupportTreeSet.Add(entry.TreeId);
         }
         DepthEntriesDictionary[entry.Depth].AddEntry(entry);
     }
 }
Ejemplo n.º 2
0
Archivo: Tree.cs Proyecto: 8ffie/fsm
 /// <summary>
 /// Проверка наличия индекса корня
 /// </summary>
 /// <param name="depth">Глубина</param>
 /// <param name="treeId">Id дерева</param>
 /// <param name="rootIndex">Индекс корня</param>
 /// <returns>true, если запись </returns>
 internal bool ContainsRootIndex(int depth, string treeId, int rootIndex)
 {
     return(DepthEntriesDictionary.ContainsKey(depth) && (DepthEntriesDictionary[depth].ContainsRootIndex(treeId, rootIndex)));
 }
Ejemplo n.º 3
0
Archivo: Tree.cs Proyecto: 8ffie/fsm
 /// <summary>
 /// Проверка вхождения поддерева на определенной глубине
 /// </summary>
 /// <param name="depth">Глубина</param>
 /// <param name="treeId">Id поддерева</param>
 /// <returns>true, если поддерево на заданной глубине существует</returns>
 internal bool ContainsTreeAtDepth(int depth, string treeId)
 {
     return(DepthEntriesDictionary.ContainsKey(depth) && DepthEntriesDictionary[depth].ContainsTree(treeId));
 }
Ejemplo n.º 4
0
Archivo: Tree.cs Proyecto: 8ffie/fsm
 /// <summary>
 /// Проверка, есть ли записи деревьев в словаре вхождений по глубинам текущего дерева
 /// </summary>
 /// <param name="depth">Глубина</param>
 /// <returns>true, если запись есть</returns>
 internal bool ContainsDepth(int depth)
 {
     return(DepthEntriesDictionary.ContainsKey(depth));
 }