Example #1
0
        ///<summary>选中对象</summary>
        void scene_EditObjectSelected(object sender, Earth.PickEventArgs e)
        {
            if (isTopoBrowser)  //拓扑浏览模式
            {
                handleTopoBrowsePickedObject(e.pickedObject);
            }
            else  //编辑模式
            {
                #region 编辑模式

                if (e.pickedObject == editobj)
                {
                    return;
                }
                elayer.pModels.Clear();

                if (e.pickedObject is EDDot)  //选中的控制点, 服务于线段和区域
                {
                    assobj = e.pickedObject as EDDot;
                    btnDelDot.Visibility = btnAddDot.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    editobj               = e.pickedObject;
                    isNewObject           = false;
                    pgAcnt.SelectedObject = editobj.busiAccount;
                    //btnCreate.IsEnabled = false;
                    btnDelete.IsEnabled = true;
                    //btnSave.IsEnabled = isModify = false;
                    //btnExit.IsEnabled = true;

                    if (editobj is pPowerLine) //选中的线段
                    {
                        pPowerLine lin = editobj as pPowerLine;
                        int        idx = 0;
                        foreach (Point pnt in lin.points)
                        {
                            EDDot dot = new EDDot(elayer)
                            {
                                id       = MyClassLibrary.helper.getGUID(),
                                location = pnt.ToString(),
                            };
                            dot.order       = idx;
                            dot.scaleX      = dot.scaleY = dot.scaleZ = distnet.UnitMeasure * 5;
                            dot.symbolid    = "小圆圈";
                            dot.isUseXModel = false;
                            elayer.AddObject(dot);
                            idx++;
                        }
                    }
                    else if (editobj is pArea)  //选中的区域
                    {
                        pArea lin = editobj as pArea;
                        int   idx = 0;
                        foreach (Point pnt in lin.points)  //zh注,应改写为原始坐标点集
                        {
                            EDDot dot = new EDDot(elayer)
                            {
                                id       = MyClassLibrary.helper.getGUID(),
                                location = pnt.ToString(),
                            };
                            dot.order  = idx;
                            dot.scaleX = dot.scaleY = dot.scaleZ = distnet.UnitMeasure * 5;
                            elayer.AddObject(dot);
                            idx++;
                        }
                    }

                    distnet.scene.UpdateModel();
                    oldID = editobj.id;
                }
                #endregion
            }

            //if (editobj == null)
            //{
            //    editobj = e.pickedObject;
            //    isNewObject = false;
            //    pgAcnt.SelectedObject = editobj.busiAccount;
            //    btnCreate.IsEnabled = false;
            //    btnDelete.IsEnabled = true;
            //    btnSave.IsEnabled = isModify = false;
            //    btnExit.IsEnabled = true;

            //    if (editobj is pPowerLine) //选中的线段
            //    {
            //        pPowerLine lin = editobj as pPowerLine;
            //        int idx = 0;
            //        foreach (Point pnt in lin.points)
            //        {
            //            EDDot dot = new EDDot(elayer)
            //            {
            //                id=MyClassLibrary.helper.getGUID(),
            //                location=pnt.ToString(),
            //            };
            //            dot.order = idx;
            //            dot.scaleX = dot.scaleY = dot.scaleZ = distnet.UnitMeasure*5;
            //            elayer.AddObject(dot);
            //            idx++;
            //        }
            //        distnet.scene.UpdateModel();
            //    }
            //    else if (editobj is pArea)  //选中的区域
            //    {
            //        pArea lin = editobj as pArea;
            //        int idx = 0;
            //        foreach (Point pnt in lin.points)  //zh注,应改写为原始坐标点集
            //        {
            //            EDDot dot = new EDDot(elayer)
            //            {
            //                id = MyClassLibrary.helper.getGUID(),
            //                location = pnt.ToString(),
            //            };
            //            dot.order = idx;
            //            dot.scaleX = dot.scaleY = dot.scaleZ = distnet.UnitMeasure * 5;
            //            elayer.AddObject(dot);
            //            idx++;
            //        }
            //        distnet.scene.UpdateModel();
            //    }

            //    oldID = editobj.id;
            //}
            //else if (e.pickedObject is EDDot)  //选中的控制点, 服务于线段和区域
            //{
            //    assobj = e.pickedObject as EDDot;
            //    btnDelDot.Visibility = btnAddDot.Visibility = System.Windows.Visibility.Visible;
            //}
        }
Example #2
0
 public RunDataCableSeg(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #3
0
 public RunDataRechange(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #4
0
 public TopoData(PowerBasicObject Parent)
 {
     parent = Parent;
 }
Example #5
0
 public RunDataGridArea(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #6
0
 public RunDataBiomassPlant(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #7
0
 public RunDataColumnTransformer(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #8
0
 public RunDataStrainSupport(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #9
0
 public RunDataMainTransformer3W(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #10
0
 public RunDataDistTransformer(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #11
0
 public RunDataSubstationOutline(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #12
0
 public RunDataTransformFacilityBase(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #13
0
 public RunDataConnectivityNode(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #14
0
 public RunDataIntermediateSupport(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #15
0
 public RunDataSwitchBase(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #16
0
 public RunDataBase(PowerBasicObject Parent)
 {
     parent = Parent;
 }
Example #17
0
 public RunDataLoadSwitch(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #18
0
 public RunDataRegion(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #19
0
 public RunDataBreaker(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #20
0
 public RunDataPVPlant(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #21
0
 public RunDataFuse(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #22
0
 public RunDataCustomer(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #23
0
 public RunDataBusBar(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #24
0
 public RunDataPowerBase(PowerBasicObject Parent)
     : base(Parent)
 {
     lstApparentPower = new System.ComponentModel.BindingList <MyClassLibrary.DevShare.ChartDataPoint>();
 }
Example #25
0
 public RunDataStoredEnergy(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #26
0
        ///<summary>创建新对象</summary>
        private void btnCreate_Click(object sender, RoutedEventArgs e)
        {
            if (tree.SelectedItem != null)
            {
                DNDesc dnd = tree.SelectedItem as DNDesc;

                //处理对象的层
                pLayer           nlayer = distnet.addLayer(dnd.sort);
                PowerBasicObject obj    = dnd.CreateByType(nlayer);
                obj.id   = MyClassLibrary.helper.getGUID();
                obj.name = "新对象";

                //Point? pnttmp = distnet.scene.camera.getScreenCenterGeo();
                Point?pnttmp = distnet.scene.camera.getScreenCenter();

                if (pnttmp != null)
                {
                    Point pnt = (Point)pnttmp;
                    if (obj is pSymbolObject) //新增的图元
                    {
                        (obj as pSymbolObject).location = pnt.ToString();
                        PowerBasicObject refobj = distnet.findFirstObj(obj.GetType());
                        if (refobj != null)
                        {
                            (obj as pSymbolObject).scaleX = (refobj as pSymbolObject).scaleX;
                            (obj as pSymbolObject).scaleY = (refobj as pSymbolObject).scaleY;
                            (obj as pSymbolObject).scaleZ = (refobj as pSymbolObject).scaleZ;
                            (obj as pSymbolObject).color  = (refobj as pSymbolObject).color;
                            (obj as pSymbolObject).isH    = true;
                        }
                        obj.DBOPKey = dnd.dbopkey;
                        obj.createAcntData();
                        (obj.busiAccount as AcntDataBase).id   = obj.id;
                        (obj.busiAccount as AcntDataBase).name = obj.name;
                        nlayer.AddObject(obj);
                        //(obj as pSymbolObject).aniTwinkle.doCount = 10;
                        //(obj as pSymbolObject).aniTwinkle.isDoAni = true;
                        //(obj as pSymbolObject).AnimationBegin(pSymbolObject.EAnimationType.闪烁);
                        distnet.scene.UpdateModel();
                    }
                    else if (obj is pPowerLine)                     //新增的线路
                    {
                        if (distnet.scene.coordinateManager.Enable) //启用了坐标转换
                        {
                            (obj as pPowerLine).strPoints = String.Format("{0} {1}", pnt, new Point(pnt.X - 50, pnt.Y - 50));
                        }
                        else  //缺省的经纬坐标
                        {
                            (obj as pPowerLine).strPoints = String.Format("{0} {1}", pnt, new Point(pnt.X - 0.005, pnt.Y - 0.005));
                        }

                        PowerBasicObject refobj = distnet.findFirstObj(obj.GetType());

                        if (refobj != null)
                        {
                            (obj as pPowerLine).thickness  = (refobj as pPowerLine).thickness;
                            (obj as pPowerLine).color      = (refobj as pPowerLine).color;
                            (obj as pPowerLine).arrowColor = (refobj as pPowerLine).arrowColor;
                            (obj as pPowerLine).arrowSize  = (refobj as pPowerLine).arrowSize;
                        }
                        else
                        {
                            (obj as pPowerLine).thickness  = 0.1f;
                            (obj as pPowerLine).color      = Colors.Red;;
                            (obj as pPowerLine).arrowColor = Colors.Blue;
                            (obj as pPowerLine).arrowSize  = 0.2f;
                        }

                        obj.DBOPKey = dnd.dbopkey;
                        obj.createAcntData();
                        (obj.busiAccount as AcntDataBase).id   = obj.id;
                        (obj.busiAccount as AcntDataBase).name = obj.name;
                        nlayer.AddObject(obj);
                        //(obj as pSymbolObject).aniTwinkle.doCount = 10;
                        //(obj as pSymbolObject).aniTwinkle.isDoAni = true;
                        //(obj as pSymbolObject).AnimationBegin(pSymbolObject.EAnimationType.闪烁);
                        distnet.scene.UpdateModel();
                    }
                    else if (obj is pArea) //新增的区域
                    {
                        (obj as pArea).strPoints = String.Format("{0} {1} {2}", pnt, new Point(pnt.X - 0.005, pnt.Y - 0.005), new Point(pnt.X, pnt.Y - 0.005));
                        PowerBasicObject refobj = distnet.findFirstObj(obj.GetType());
                        if (refobj != null)
                        {
                            (obj as pArea).color = (refobj as pArea).color;
                        }
                        obj.DBOPKey = dnd.dbopkey;
                        obj.createAcntData();
                        (obj.busiAccount as AcntDataBase).id   = obj.id;
                        (obj.busiAccount as AcntDataBase).name = obj.name;
                        nlayer.AddObject(obj);
                        //(obj as pSymbolObject).aniTwinkle.doCount = 10;
                        //(obj as pSymbolObject).aniTwinkle.isDoAni = true;
                        //(obj as pSymbolObject).AnimationBegin(pSymbolObject.EAnimationType.闪烁);
                        distnet.scene.UpdateModel();
                    }
                    else
                    {
                        return; //提前返回
                    }
                    // 置界面
                    editobj               = obj;
                    obj.modifyStatus      = EModifyStatus.新增;
                    obj.color             = Colors.White;
                    isNewObject           = true;
                    pgAcnt.SelectedObject = editobj.busiAccount;

                    //btnCreate.IsEnabled = false;
                    btnDelete.IsEnabled = true;
                    btnSave.IsEnabled   = isModify = true;
                    //btnExit.IsEnabled = true;
                }
            }
        }
Example #27
0
 public RunDataDividing(PowerBasicObject Parent)
     : base(Parent)
 {
 }
Example #28
0
 //public busiBase(){}
 public busiBase(PowerBasicObject Parent)
 {
     parent = Parent;
 }
Example #29
0
 public RunDataACLine(PowerBasicObject Parent)
     : base(Parent)
 {
 }