public NodeVertex GetVertex(IGraphicsCompositorBlockViewModel block) { return(vertexMapping[block]); //NodeVertex vertex; //vertexMapping.TryGetValue(block, out vertex); //return vertex; }
public void RemoveVertex(IGraphicsCompositorBlockViewModel block) { var vertex = GetVertex(block); vertexMapping.Remove(block); blockMapping.Remove(vertex); vertices.Remove(vertex); }
public void CreateVertex(IGraphicsCompositorBlockViewModel block) { var vertex = new GraphicsCompositorNodeVertex(this, block) { ID = ++vertexId }; vertices.Add(vertex); vertexMapping.Add(block, vertex); blockMapping.Add(vertex, block); }
internal GraphicsCompositorNodeVertex([NotNull] GraphicsCompositorGraph graph, [NotNull] IGraphicsCompositorBlockViewModel block) { if (graph == null) { throw new ArgumentNullException(nameof(graph)); } this.graph = graph; Block = block; InputSlots = new ObservableCollection <object>(); OutputSlots = new ObservableCollection <object>(); block.InputSlots.ForEach(AddInputSlot); block.OutputSlots.ForEach(AddOutputSlot); // Track slot changes block.InputSlots.CollectionChanged += InputSlotsCollectionChanged; block.OutputSlots.CollectionChanged += OutputSlotsCollectionChanged; }