private void Canvas_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (DrawNodes) { Point pos = e.GetPosition((Canvas)sender); pos = UntransformPoint(pos); m_DragAnchor = e.GetPosition((Canvas)sender); int newID = IdCount; Node n = new Node(newID, "Node " + newID, pos.X, pos.Y); n.Floor = SelectedFloor.FloorNum; n.FloorName = SelectedFloor.Name; n.ActualPosition = ScalePos(pos); m_SelectedNode = n; FloorNodes.Add(n); m_SelectedPoint = FloorNodes.Count - 1; m_Dragging = true; updatePoints(); } else if (DrawEdges) { } else if (DrawScale) { m_ScaleAnchor = e.GetPosition((Canvas)sender); } }
protected void removeNode() { Node node = SelectedNode; for (int i = 0; i < m_Floors.Count; i++) { List <Edge> toRemove = new List <Edge>(); List <Edge> fEdge = m_Floors[i].Edges; for (int j = 0; j < fEdge.Count; j++) { if (fEdge[j].contains(node.ID)) { toRemove.Add(fEdge[j]); } } foreach (Edge e in toRemove) { fEdge.Remove(e); } } FloorNodes.Remove(node); m_SelectedNode = null; m_SelectedEdge = null; updatePoints(); updateEdges(); }
public void RemoveFloorNode(Node node) { FloorNodes.Remove(node); }