Esempio n. 1
0
        public void Func(string Params)
        {
            U3DViewModel    model  = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
            SetObjShowEvent _event = new SetObjShowEvent(UnityEventType.SetObjShowEvent)
            {
                ObjName = Params
            };

            model.ExcuteCommand(JsonConvert.SerializeObject(_event));
        }
Esempio n. 2
0
        public void Func(string Params)
        {
            U3DViewModel  model  = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
            SetPointEvent _event = new SetPointEvent(UnityEventType.SetPointEvent);

            _event.TunnelPointList = Globals.tunnelPosList2;

            model.ExcuteCommand(JsonConvert.SerializeObject(_event));

            //Project _prj = Globals.project;
            //Domain _constructionDoamin2 = _prj.getDomain("Construction");
            //DGObjects _gprfDGObjects2 = _constructionDoamin2.DGObjectsList.Where(x => x.definition.Type == "TPSI").FirstOrDefault();
            //foreach (DGObject obj in _gprfDGObjects2.objContainer)
            //{
            //    TPSI tpsi = JsonConvert.DeserializeObject<TPSI>(JsonConvert.SerializeObject(obj));
            //    TPSI t = obj as TPSI;
            //    if ((tpsi.TPSI_ZHQJ == null) || (tpsi.TPSI_ZHQJ.Length == 0)) { continue; }
            //    bool _state = tpsi.TPSI_ZGJD == "已完成" ? true : false;
            //    Globals.tunnelPosList2.Add(tpsi.TPSI_ZHQJ.Split('-')[0] + "#" + tpsi.ID.ToString() + "#" + _state.ToString());
            //}
        }
        public async Task <IView> addView(EngineeringMap eMap, bool canClose)
        {
            try
            {
                RadPane layout = new RadDocumentPane()
                {
                    CanUserClose = true
                };
                layout.Name   = eMap.MapID;
                layout.Header = eMap.MapID;
                ViewHolder.Items.Add(layout);
                //ViewHolder.SelectedIndex = count;
                IView view = null;
                if (eMap.MapType == EngineeringMapType.FootPrintMap)
                {
                    PlanView planView = new PlanView(_prj, eMap);
                    view = planView.view;
                    // Load predefined layers
                    await view.initialzeView();

                    layout.Content = planView;
                }
                else if (eMap.MapType == EngineeringMapType.GeneralProfileMap)
                {
                    ProfileView profileView = new ProfileView(_prj, eMap);
                    view = profileView.view;
                    // Load predefined layers
                    await view.initialzeView();

                    _profileview   = profileView;
                    layout.Content = profileView;
                }
                else if (eMap.MapType == EngineeringMapType.Map3D)
                {
                    if (eMap.LocalTileFileNameStr.EndsWith(".unity3d"))
                    {
                        Unity.Webplayer.U3DView u3dView = new Unity.Webplayer.U3DView(_prj, eMap);

                        view        = u3dView.view;
                        viewModel3d = view as U3DViewModel;
                        // Load predefined layers
                        await view.initialzeView();

                        layout.Content = u3dView;
                    }
                    else
                    {
                        Unity.EXE.U3DView u3dView = new Unity.EXE.U3DView(_prj, eMap);
                        my3dView = u3dView;
                        temp2    = layout;
                        //layout.Content = u3dView;
                        temp.Child = u3dView;
                        //temp.Child = u3dView;
                        view        = u3dView.panel.view;
                        viewModel3d = view as U3DViewModel;
                        // Load predefined layers
                        await view.initialzeView();
                    }
                }

                //// view is both a trigger and listener of object selection changed event
                view.ObjSelectionChangedHandler += this.objSelectionChangedListener;
                this.objSelectionChangedTrigger += view.ObjSelectionChangedListener;

                // Sync view graphics with data
                view.syncObjects();

                _views.Add(view);
                return(view);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Esempio n. 4
0
        public void Func(string Params)
        {
            //初始化三维事件
            U3DViewModel  model  = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
            SetPointEvent _event = new SetPointEvent(UnityEventType.SetPointEvent);

            _event.Domain  = "Construction";
            _event.ObjType = "TPZL";
            _event.state   = state;
            state          = !state;
            //获取数据
            Project   _prj = Globals.project;
            Domain    _constructionDoamin2 = _prj.getDomain("Construction");
            DGObjects _gprfDGObjects2      = _constructionDoamin2.DGObjectsList.Where(x => x.definition.Type == "TPZL").FirstOrDefault();

            foreach (DGObject obj in _gprfDGObjects2.objContainer)
            {
                TPZL tpzl = JsonConvert.DeserializeObject <TPZL>(JsonConvert.SerializeObject(obj));
                if ((tpzl.TPZL_ZHQJ == null) || (tpzl.TPZL_ZHQJ.Length == 0))
                {
                    continue;
                }
                _event.TunnelPointList.Add(tpzl.TPZL_ZHQJ.Split('-')[0] + "#" + tpzl.ID.ToString());
                _event.ImageList.Add("Panel_Image");
            }
            model.ExcuteCommand(JsonConvert.SerializeObject(_event));
            //通知对象组改变事件
            Globals.mainFrame.DGObjectsSelectionChangedListener(this, new DGObjectsSelectionChangedEvent()
            {
                newObjs = _gprfDGObjects2
            });

            IMainFrame mainFrame = Globals.mainFrame;
            //获取要添加图元的视图view
            IView2D       _inputView       = (mainFrame.views.Where(x => x.name == "右幅剖面图").FirstOrDefault()) as IView2D;
            List <string> dynamiclayerlist = new List <string>()
            {
                "TPZL"
            };

            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            iS3Legned legeng_TPZL = new iS3Legned()
            {
                legndTitle    = "图片资料图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        label = "图片资料", symbolType = SymbolType.Icon, refPath = "picicon.png"
                    }
                }
            };

            _inputView.holder.setlegend(legeng_TPZL);
            _inputView.holder.setLegendShow(true);

            _inputView       = (mainFrame.views.Where(x => x.name == "左幅剖面图").FirstOrDefault()) as IView2D;
            dynamiclayerlist = new List <string>()
            {
                "TPZL"
            };
            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            legeng_TPZL = new iS3Legned()
            {
                legndTitle    = "图片资料图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        label = "图片资料", symbolType = SymbolType.Icon, refPath = "picicon.png"
                    }
                }
            };
            _inputView.holder.setlegend(legeng_TPZL);
            _inputView.holder.setLegendShow(true);
        }
        public void Func(string Params)
        {
            //初始化三维事件
            U3DViewModel  model  = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
            SetPointEvent _event = new SetPointEvent(UnityEventType.SetPointEvent);

            _event.Domain  = "Construction";
            _event.state   = state;
            state          = !state;
            _event.ObjType = "CHAG";
            //获取数据
            Project   _prj = Globals.project;
            Domain    _constructionDoamin2 = _prj.getDomain("Construction");
            DGObjects _gprfDGObjects2      = _constructionDoamin2.DGObjectsList.Where(x => x.definition.Type == "CHAG").FirstOrDefault();

            foreach (DGObject obj in _gprfDGObjects2.objContainer)
            {
                try
                {
                    CHAG chag = JsonConvert.DeserializeObject <CHAG>(JsonConvert.SerializeObject(obj));
                    if ((chag.CHAG_CHAI == null) || (chag.CHAG_CHAI.Length == 0))
                    {
                        continue;
                    }
                    _event.TunnelPointList.Add(chag.CHAG_CHAI.Split('-')[0] + "#" + chag.ID.ToString());
                    int before = findNum(chag.CHAG_PRIM);     //原来的衬砌类型
                    int after  = findNum(chag.CHAG_PRES);
                    if (before == after)
                    {
                        _event.ImageList.Add("Panel_Keep");
                    }
                    if (before > after)
                    {
                        _event.ImageList.Add("Panel_Decrease");
                    }
                    if (before < after)
                    {
                        _event.ImageList.Add("Panel_Increase");
                    }
                }
                catch (Exception ex)
                {
                }
            }
            model.ExcuteCommand(JsonConvert.SerializeObject(_event));
            //通知对象组改变事件
            Globals.mainFrame.DGObjectsSelectionChangedListener(this, new DGObjectsSelectionChangedEvent()
            {
                newObjs = _gprfDGObjects2
            });
            //二维视图改变

            IMainFrame mainFrame = Globals.mainFrame;
            //获取要添加图元的视图view 右幅
            IView2D       _inputView       = (mainFrame.views.Where(x => x.name == "右幅剖面图").FirstOrDefault()) as IView2D;
            List <string> dynamiclayerlist = new List <string>()
            {
                "CHAG"
            };

            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            iS3Legned legeng_CHAG = new iS3Legned()
            {
                legndTitle    = "施工变更图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        colorName = "HotPink", label = "施工变更", symbolType = SymbolType.Rectangle
                    }
                }
            };

            _inputView.holder.setlegend(legeng_CHAG);
            _inputView.holder.setLegendShow(true);

            //左幅
            _inputView       = (mainFrame.views.Where(x => x.name == "左幅剖面图").FirstOrDefault()) as IView2D;
            dynamiclayerlist = new List <string>()
            {
                "CHAG"
            };
            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            legeng_CHAG = new iS3Legned()
            {
                legndTitle    = "施工变更图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        colorName = "HotPink", label = "施工变更", symbolType = SymbolType.Rectangle
                    }
                }
            };
            _inputView.holder.setlegend(legeng_CHAG);

            _inputView.holder.setLegendShow(true);
        }
Esempio n. 6
0
        public void Func(string Params)
        {
            if (_init == 0)
            {
                SetProgressEvent _event = new SetProgressEvent(UnityEventType.SetProgressEvent);
                _event.TunnelSectionList = new List <TunnelSection>();
                List <Tuple <string, string> > list = Globals.tunnelSectionList;
                foreach (var data in Globals.tunnelSectionList)
                {
                    _event.TunnelSectionList.Add(new TunnelSection()
                    {
                        startM = data.Item1, endM = data.Item2
                    });
                }
                _event.TunnelPointList = new List <string>();
                double zmax = 0; double zmin = 20000; double ymax = 0; double ymin = 20000;
                string zmaxStr = ""; string zminStr = ""; string ymaxStr = ""; string yminStr = "";
                foreach (string str in Globals.tunnelPosList)
                {
                    if (str.StartsWith("YK"))
                    {
                        double mi = getMileage(str);
                        if ((mi < 7000) && (mi > ymax))
                        {
                            ymax = mi; ymaxStr = str;
                        }
                        if ((mi > 7000) && (mi < ymin))
                        {
                            ymin = mi; yminStr = str;
                        }
                    }
                    if (str.StartsWith("ZK"))
                    {
                        double mi = getMileage(str);
                        if ((mi < 7000) && (mi > zmax))
                        {
                            zmax = mi; zmaxStr = str;
                        }
                        if ((mi > 7000) && (mi < zmin))
                        {
                            zmin = mi; zminStr = str;
                        }
                    }
                }
                _event.TunnelPointList.Add(ymaxStr);
                _event.TunnelPointList.Add(zmaxStr);
                _event.TunnelPointList.Add(yminStr);
                _event.TunnelPointList.Add(zminStr);
                U3DViewModel model = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
                model.ExcuteCommand(JsonConvert.SerializeObject(_event));
            }
            else
            {
                _state = !_state;
                SetProgressEvent _event = new SetProgressEvent(UnityEventType.SetProgressEvent);
                _event.state = _state;
                U3DViewModel model = Globals.mainFrame.views.Where(x => x.baseType == ViewBaseType.D3).FirstOrDefault() as U3DViewModel;
                model.ExcuteCommand(JsonConvert.SerializeObject(_event));
            }
            _init++;

            Project   _prj = Globals.project;
            Domain    _constructionDoamin = _prj.getDomain("Construction");
            DGObjects _gprfDGObjects      = _constructionDoamin.DGObjectsList.Where(x => x.definition.Type == "ACHE").FirstOrDefault();

            Globals.mainFrame.DGObjectsSelectionChangedListener(this, new DGObjectsSelectionChangedEvent()
            {
                newObjs = _gprfDGObjects
            });
            //二维视图改变
            IMainFrame mainFrame = Globals.mainFrame;
            //获取要添加图元的视图view
            IView2D       _inputView       = (mainFrame.views.Where(x => x.name == "右幅剖面图").FirstOrDefault()) as IView2D;
            List <string> dynamiclayerlist = new List <string>()
            {
                "ACHE", "ACHE_EC", "ACHE_YG", "ACHE_ZZM"
            };

            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            iS3Legned legeng_ACHE = new iS3Legned()
            {
                legndTitle    = "施工进度图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        colorName = "Yellow", label = "初衬", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        colorName = "GreenYellow", label = "二衬", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        colorName = "Khaki", label = "仰拱", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        label = "掌子面", symbolType = SymbolType.Icon, refPath = "redflag.png"
                    }
                    //new iS3Symbol(){label="图片",symbolType=SymbolType.Icon,refPath="照片.png"}
                }
            };

            _inputView.holder.setlegend(legeng_ACHE);
            _inputView.holder.setLegendShow(true);

            _inputView       = (mainFrame.views.Where(x => x.name == "左幅剖面图").FirstOrDefault()) as IView2D;
            dynamiclayerlist = new List <string>()
            {
                "ACHE", "ACHE_EC", "ACHE_YG", "ACHE_ZZM"
            };
            _inputView.Opendynamiclayers(dynamiclayerlist, "施工进度");
            legeng_ACHE = new iS3Legned()
            {
                legndTitle    = "施工进度图例",
                iS3SymbolList = new List <iS3Symbol>()
                {
                    new iS3Symbol()
                    {
                        colorName = "Yellow", label = "初衬", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        colorName = "GreenYellow", label = "二衬", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        colorName = "Khaki", label = "仰拱", symbolType = SymbolType.Rectangle
                    },
                    new iS3Symbol()
                    {
                        label = "掌子面", symbolType = SymbolType.Icon, refPath = "redflag.png"
                    }
                    //new iS3Symbol(){label="图片",symbolType=SymbolType.Icon,refPath="照片.png"}
                }
            };
            _inputView.holder.setlegend(legeng_ACHE);
            _inputView.holder.setLegendShow(true);
        }