void lstObjects_MouseDoubleClick(object sender, MouseButtonEventArgs e) { WpfEarthLibrary.PowerBasicObject obj = gauge.lstObjects.SelectedItem as WpfEarthLibrary.PowerBasicObject; distnet.scene.camera.aniLook(obj.VecLocation, 5); }
void simData() { startYear = 2017; endYear = 2030; int id = 0; YearData year = new YearData() { year = startYear }; ProjectData pd; pd = new ProjectData() { prjid = id, year = year.year, name = " 配网现状", note = "配网现状情况。" }; simindex(pd, (1.0 * year.year - startYear) / (endYear - startYear)); year.projects.Add(pd); years.Add(startYear, year); gauge.nowPrj = pd; //填写现状数据 year = new YearData() { year = endYear }; pd = new ProjectData() { prjid = id, year = year.year, name = " 规划方案" + id, note = string.Format(" 规划方案{0}。", id) }; simindex(pd, (1.0 * year.year - startYear) / (endYear - startYear)); year.projects.Add(pd); years.Add(endYear, year); for (int i = 0; i < 10 + rd.Next(7); i++) { id++; int tmp = startYear + rd.Next(endYear - startYear); if (tmp == startYear) { continue; } if (!years.TryGetValue(tmp, out year)) { year = new YearData() { year = tmp }; years.Add(tmp, year); } pd = new ProjectData() { prjid = id, year = year.year, name = " 规划方案" + id, note = string.Format(" 规划方案{0}。", id) }; simindex(pd, (1.0 * year.year - startYear) / (endYear - startYear)); year.projects.Add(pd); } id++; //----- 创建方案集合视图 foreach (var item in years.Values) { PAllYearPorjects prjview = new PAllYearPorjects(item) { Margin = new Thickness(20, 0, 0, 50) }; item.view = prjview; prjview.projectChanged += new EventHandler(prjview_projectChanged); } //----- 模拟投退运,仅设施、主配变、连接线路 IEnumerable <WpfEarthLibrary.PowerBasicObject> tmpobjs; IEnumerable <WpfEarthLibrary.PowerBasicObject> objs = distnet.getAllObjListByCategory(DistNetLibrary.EObjectCategory.变电设施类); tmpobjs = distnet.getAllObjListByCategory(DistNetLibrary.EObjectCategory.开关设施类); objs = objs.Union(tmpobjs); objs = distnet.getAllObjListByCategory(DistNetLibrary.EObjectCategory.导线类); objs = objs.Union(tmpobjs); tmpobjs = distnet.getAllObjListByCategory(DistNetLibrary.EObjectCategory.变压器类); objs = objs.Union(tmpobjs); List <WpfEarthLibrary.PowerBasicObject> allobjs = objs.ToList(); var allprjs = from e0 in years.Values from e1 in e0.projects select e1; foreach (ProjectData prj in allprjs.OrderBy(p => p.year)) { if (prj.year == startYear) { continue; //跳过现状年 } for (int i = 0; i < 2 + rd.Next(3); i++) { WpfEarthLibrary.PowerBasicObject obj = allobjs[rd.Next(allobjs.Count)]; if (obj.busiAccount is DistNetLibrary.AcntDistBase) { (obj.busiAccount as DistNetLibrary.AcntDistBase).runDate = new DateTime(prj.year, 1 + rd.Next(12), 1); //模拟增加投运日期 prj.addobjs.Add(obj); //加该设备为方案增量设备 obj.logicVisibility = false; //初始设定该增量设备不可见 } } } }