コード例 #1
0
        public void Test42()
        {
            IDigraph g = new Digraph(4);

            g.AddEdge(0, 1);
            g.AddEdge(1, 2);
            g.AddEdge(2, 3);
            g.AddEdge(3, 4);
            var digraphPath = new DigraphPath(g, 0);

            Assert.IsTrue(digraphPath.HasPathTo(4));
        }
コード例 #2
0
ファイル: PureDesktop.cs プロジェクト: Erroman/universal
        /// <summary>
        /// Composition of path arrows
        /// </summary>
        /// <param name="category">Category of arrows</param>
        /// <param name="path">The path</param>
        /// <returns>The composition</returns>
        static public IAdvancedCategoryArrow Composition(ICategory category, DigraphPath path)
        {
            IArrowLabel            label = path[0].Object as IArrowLabel;
            IAdvancedCategoryArrow arrow = label.Arrow as IAdvancedCategoryArrow;

            for (int i = 1; i < path.Count; i++)
            {
                label = path[i].Object as IArrowLabel;
                arrow = (label.Arrow as IAdvancedCategoryArrow).Compose(category, arrow);
            }
            return(arrow);
        }
コード例 #3
0
        static private ITimeMeasureProvider GetProvider(DigraphPath path)
        {
            ITimeMeasureProvider p = null;

            for (int i = 0; i < path.Count - 1; i++)
            {
                ICategoryObject ob = path[i].CategoryObject;
                if (ob is ITimeMeasureProvider)
                {
                    p = ob as ITimeMeasureProvider;
                }
            }
            return(p);
        }