Ejemplo n.º 1
0
        private void CreateBlockingNode(NetworkViewModel model, NodeViewModel previous_node)
        {
            // Create blocking node and add it to the graph
            BlockingCutNodeViewModel blocking_node = new BlockingCutNodeViewModel(Cut);

            model.Nodes.Edit(x => x.Add(blocking_node));

            // Set the blocking node's position to where this cut node was
            blocking_node.Position = (System.Windows.Point)(Position - new System.Windows.Point(150, 0));

            // Move this cut node forward to not overlap the blocking node
            Position = new System.Windows.Point(Position.X + 450, Position.Y);

            ConnectionViewModel previous_to_blocking = new ConnectionViewModel(
                model,
                blocking_node.Inputs.Items.First(),
                previous_node.Outputs.Items.First());

            ConnectionViewModel blocking_to_current = new ConnectionViewModel(
                model,
                Inputs.Items.First(),
                blocking_node.Outputs.Items.First());

            // Add the connections to the node network.
            model.Connections.Edit(x => x.Add(previous_to_blocking));
            model.Connections.Edit(x => x.Add(blocking_to_current));
        }
Ejemplo n.º 2
0
        private void Add_block_Click(object sender, RoutedEventArgs e)
        {
            NetworkView view           = PlacementTarget as NetworkView;
            BlockingCutNodeViewModel b = new BlockingCutNodeViewModel(null);

            b.Position = GetMouseLocation(view);

            view.ViewModel.Nodes.Edit(x => x.Add(b));
        }