示例#1
0
 /// <summary>
 /// Raise the CondensationGraphVertex evt
 /// </summary>
 /// <param name="arg">Pack the CG vertex and a VertexCollection of it's constituent vertices</param>
 protected void OnInitCondensationGraphVertex(CondensationGraphVertexEventArgs arg)
 {
     if (InitCondensationGraphVertex != null)
     {
         InitCondensationGraphVertex(this, arg);
     }
 }
 public void CGVertexHandler(object sender, CondensationGraphVertexEventArgs arg)
 {
     IVertex vCG = arg.CondensationGraphVertex;
     Console.WriteLine("Added CG vertex <{0}> with connected component vertices -",
         vCG.ID);
     foreach( IVertex v in arg.StronglyConnectedVertices )
     {
         ((MyVertex)vCG).Name += (v is MyVertex)? ((MyVertex)v).Name + "  " : v.ID.ToString() + "  ";
         Console.Write("{0}  ",(v is MyVertex)?((MyVertex)v).Name : v.ID.ToString());
     }
     Console.WriteLine();
 }
        public void CGVertexHandler(object sender, CondensationGraphVertexEventArgs arg)
        {
            CondensedVertex cgv = arg.CondensationGraphVertex as CondensedVertex;
            cgv.IsSCC = true;
            foreach(TypeVertex tv in arg.StronglyConnectedVertices)
                if (tv.ImutableExternalType)
                {
                    cgv.ImutableExternalType = true;
                }

            cgv.Condense(arg.StronglyConnectedVertices);
        }
		/// <summary>
		/// Raise the CondensationGraphVertex evt
		/// </summary>
		/// <param name="arg">Pack the CG vertex and a VertexCollection of it's constituent vertices</param>
		protected void OnInitCondensationGraphVertex(CondensationGraphVertexEventArgs arg)	{
			if(InitCondensationGraphVertex != null)
				InitCondensationGraphVertex(this, arg);
		}