| | |
| | | public Map() |
| | | { |
| | | |
| | | |
| | | |
| | | InitializeComponent(); |
| | | |
| | | this.DoubleBuffered = true; |
| | | MapCenter = PointF.Empty; |
| | | zoom = 1.0f; |
| | | |
| | |
| | | this.Status = DrawingStatus.Ready; |
| | | |
| | | |
| | | TContainer TCCube = new TContainer(); |
| | | TCCube.settings = new Settings(); |
| | | TCCube.settings.network = new MapViewNetWork(); |
| | | TCCube.settings.network.Areas = new List<AreaViewModel>(); |
| | | Cube cb = new Cube(); |
| | | foreach (var item in cb.FacesVertices) |
| | | { |
| | | AreaViewModel area = new AreaViewModel(); |
| | | area.ID = item.Key.ToString(); |
| | | area.InnerNodes = new List<NodeViewModel>(); |
| | | //area.Name= item.Key.ToString(); |
| | | //TContainer TCCube = new TContainer(); |
| | | //TCCube.settings = new Settings(); |
| | | //TCCube.settings.network = new MapViewNetWork(); |
| | | //TCCube.settings.network.Areas = new List<AreaViewModel>(); |
| | | //Cube cb = new Cube(); |
| | | //foreach (var item in cb.FacesVertices) |
| | | //{ |
| | | // AreaViewModel area = new AreaViewModel(); |
| | | // area.ID = item.Key.ToString(); |
| | | // area.InnerNodes = new List<NodeViewModel>(); |
| | | // //area.Name= item.Key.ToString(); |
| | | |
| | | //6个面设置不一样的颜色 |
| | | switch (item.Key) |
| | | { |
| | | case 1: |
| | | area.color = Color.Red; |
| | | area.Name = "右"; |
| | | break; |
| | | case 2: |
| | | area.color = Color.SkyBlue; |
| | | area.Name = "左"; |
| | | break; |
| | | case 3: |
| | | area.color = Color.Green; |
| | | area.Name = "后"; |
| | | break; |
| | | case 4: |
| | | area.color = Color.DarkBlue; |
| | | area.Name = "前"; |
| | | break; |
| | | case 5: |
| | | area.color = Color.Purple; |
| | | area.Name = "上"; |
| | | break; |
| | | case 6: |
| | | area.color = Color.Orange; |
| | | area.Name = "下"; |
| | | break; |
| | | default: |
| | | area.color = Color.White; |
| | | break; |
| | | } |
| | | // //6个面设置不一样的颜色 |
| | | // switch (item.Key) |
| | | // { |
| | | // case 1: |
| | | // area.color = Color.Red; |
| | | // area.Name = "右"; |
| | | // break; |
| | | // case 2: |
| | | // area.color = Color.SkyBlue; |
| | | // area.Name = "左"; |
| | | // break; |
| | | // case 3: |
| | | // area.color = Color.Green; |
| | | // area.Name = "后"; |
| | | // break; |
| | | // case 4: |
| | | // area.color = Color.DarkBlue; |
| | | // area.Name = "前"; |
| | | // break; |
| | | // case 5: |
| | | // area.color = Color.Purple; |
| | | // area.Name = "上"; |
| | | // break; |
| | | // case 6: |
| | | // area.color = Color.Orange; |
| | | // area.Name = "下"; |
| | | // break; |
| | | // default: |
| | | // area.color = Color.White; |
| | | // break; |
| | | // } |
| | | |
| | | foreach (var p in item.Value) |
| | | { |
| | | NodeViewModel node = new NodeViewModel(); |
| | | node.X = p.X; |
| | | node.Y = p.Y; |
| | | node.Z = p.Z; |
| | | area.InnerNodes.Add(node); |
| | | } |
| | | TCCube.settings.network.Areas.Add(area); |
| | | } |
| | | // foreach (var p in item.Value) |
| | | // { |
| | | // NodeViewModel node = new NodeViewModel(); |
| | | // node.X = p.X; |
| | | // node.Y = p.Y; |
| | | // node.Z = p.Z; |
| | | // area.InnerNodes.Add(node); |
| | | // } |
| | | // TCCube.settings.network.Areas.Add(area); |
| | | //} |
| | | |
| | | } |
| | | |
| | |
| | | } |
| | | else if (isdoubleClick) |
| | | { |
| | | _select_junction2 = _Network.AddJunction(p, z); |
| | | _select_junction2 = Network.AddJunction(p, z); |
| | | l.Add(_select_junction2); |
| | | } |
| | | |
| | | if (_mouseState == MouseState.新增管线 || _mouseState == MouseState.新增立管) |
| | | l.Add(_Network.AddPipe(_select_junction1, _select_junction2)); |
| | | l.Add(Network.AddPipe(_select_junction1, _select_junction2)); |
| | | else if (_mouseState == MouseState.新建阀门) |
| | | l.Add(_Network.AddValve(_select_junction1, _select_junction2)); |
| | | l.Add(Network.AddValve(_select_junction1, _select_junction2)); |
| | | else if (_mouseState == MouseState.新建水泵) |
| | | l.Add(_Network.AddPump(_select_junction1, _select_junction2)); |
| | | l.Add(Network.AddPump(_select_junction1, _select_junction2)); |
| | | |
| | | _select_junction1 = null; |
| | | _select_junction2 = null; |
| | |
| | | switch (toolItem.Text) |
| | | { |
| | | case "水表": |
| | | junc = _Network.AddMeter(obj.Position); |
| | | junc = Network.AddMeter(obj.Position); |
| | | i = 0; |
| | | ID = $"{Default.GetPreString(junc)}{i}"; |
| | | while (_Nodes.Find(p0 => p0.ID == ID) != null) |
| | |
| | | break; |
| | | case "基本节点": |
| | | |
| | | junc = _Network.AddJunction(obj.Position, obj.Z); |
| | | junc = Network.AddJunction(obj.Position, obj.Z); |
| | | i = 0; |
| | | ID = $"{Default.GetPreString(junc)}{i}"; |
| | | while (_Nodes.Find(p0 => p0.ID == ID) != null) |
| | |
| | | junc.ID = ID; |
| | | break; |
| | | case "水库": |
| | | junc = _Network.AddReservoir(obj.Position); |
| | | junc = Network.AddReservoir(obj.Position); |
| | | i = 0; |
| | | ID = $"{Default.GetPreString(junc)}{i}"; |
| | | while (_Nodes.Find(p0 => p0.ID == ID) != null) |
| | |
| | | junc.ID = ID; |
| | | break; |
| | | case "水池": |
| | | junc = _Network.AddTank(obj.Position); |
| | | junc = Network.AddTank(obj.Position); |
| | | i = 0; |
| | | ID = $"{Default.GetPreString(junc)}{i}"; |
| | | while (_Nodes.Find(p0 => p0.ID == ID) != null) |
| | |
| | | |
| | | private void DeleteChoosedObj() |
| | | { |
| | | var list = _Network.Remove(selectedObjs); |
| | | MapObjectExtensions.AddCommand(_Network, "Remove", null, list); |
| | | var list = Network.Remove(selectedObjs); |
| | | MapObjectExtensions.AddCommand(Network, "Remove", null, list); |
| | | selectedObjs.Clear(); |
| | | SetMapInvalidate(); |
| | | } |