public MarkingTreeWrapper(MarkingTree tree) : base(tree) { this.VertexWrappers.Clear(); this.ArcWrappers.Clear(); this.Tree.GetVertices().ForEach(v => this.VertexWrappers.Add(new MarkingTreeNodeWrapper(this, v as MarkingTreeNode))); this.Tree.GetEdges().ForEach(e => this.ArcWrappers.Add(new NamedArcWrapper(this, e as NamedArc))); MarkingTreeWrapper.SetDefaultEventHandlers(this); }
public MarkingTree GetReachabilityTree() { MarkingTree tree = new MarkingTree(this.GetState()); // Set the root as a boundary node (tree.Root as MarkingTreeNode).Status = MarkingNodeStatus.Boundary; tree.ProcessBoundaries(this); return tree; }
public static void SetDefaultEventHandlers(MarkingTree tree) { TreeGraph.SetDefaultEventHandlers(tree); tree.OnVertexAdded += new EventHandler<VerticesModifiedEventArgs>(tree.tree_OnVertexAdded); }