Esempio n. 1
0
        private void StoreMarkerProcess(string dataSourceObjGuid, string markerType, ref YWCHEntEx db)
        {
            var dataSourceType = db.SkyGetSJLYMDL(dataSourceObjGuid).SJLYLXID;

            var markerGuid = db.SkyFrmDzdx(dataSourceType, dataSourceObjGuid, markerType);

            //var pointList = new List<DMarker>();
            //var sourcePoints = db.SkyGetGeoDataList(dataSourceObjGuid).GetObjData(0).Points;
            //for (var index = 0; index < sourcePoints.Count; index++)
            //{
            //    var thisPoint = sourcePoints.GetPoint(index);
            //    pointList.Add(new DMarker
            //    {
            //        X = thisPoint.X,
            //        Y = thisPoint.Y,
            //        Z = thisPoint.Z,
            //        DZDXLX = "KZD",
            //        SD = 0  //SD? 深度桩号需要写嘛?
            //    });
            //}

            //db.SkyAddDzdxMXZB(SourceGuid, markerGuid, pointList);

            db.SkyAddConnect(1, Ts.Guid, markerGuid);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="FrmCurvedSurfaceBuilder"/> class.
        /// </summary>
        /// <param name="objsDict">
        /// The objs dict.
        /// </param>
        /// <param name="sgworld">
        /// The sgworld.
        /// </param>
        public FrmCurvedSurfaceBuilder(Dictionary <string, LoggingObject> objsDict, ref SGWorld66 sgworld, ref YWCHEntEx db)
        {
            this.InitializeComponent();
            this.loggingObjectsDict = objsDict;

            foreach (var kvLoggingObj in this.loggingObjectsDict)
            {
                this.listBoxAdvGeoObjs.Items.Add(kvLoggingObj.Value.Name);
            }
            this.sgworld           = sgworld;
            CurveAlgorithm.sgworld = sgworld;
            this.db = db;
        }
Esempio n. 3
0
        /// <summary>
        /// 保存,StretchPoints以Ts部件存入数据库,ScreenPoints自己保存。
        /// </summary>
        public bool Store(ref YWCHEntEx db)
        {
            // 面
            // 根据地质对象类型,弹出数据库编录卡,保存信息(数据来源:私有模型),记录地质点guid
            var partSurfaceGuid = db.SkyFrmSymxDzdx(this.MarkerType);

            if (string.IsNullOrEmpty(partSurfaceGuid))
            {
                return(false);
            }
            var sourceSurfaceGuid = db.PublishPartVer(partSurfaceGuid);

            // 根据面点集构建ts文件
            this.TsSurface = new TsFile(WorldPoints, "TSurf", "M", MarkerType, Name, new List <string>
            {
                sourceSurfaceGuid // ?
            });
            TsSurface.WriteTsFile();

            // 上传面TS文件
            var isSurfacePartUploaded = db.SkyUploadPartVer(partSurfaceGuid, TsSurface.FilePath);

            ////线
            ////创建
            // var newLineGuid = Guid.NewGuid().ToString();
            // var partLineGuid = db.SkyNewObject(MarkerType, newLineGuid, "X", Name, GetColorRGB());
            // if (string.IsNullOrEmpty(partLineGuid))
            // return false;
            // var sourceLineGuid = db.PublishPartVer(partLineGuid);

            ////根据面点集构建ts文件
            // TsLine = new TsFile(WorldPoints, "PLine", "X", MarkerType, Name, new List<string>
            // {
            // sourceLineGuid //??
            // });
            // TsLine.WriteTsFile();

            ////上传面TS文件
            // var isLinePartUploaded = db.SkyUploadPartVer(partLineGuid, TsLine.FilePath);


            return(isSurfacePartUploaded);



            // 将ts文件与地质点关联
            // db.SkyAddConnect(1, TsLine.Guid, markerGuid);
        }
Esempio n. 4
0
        public virtual void Store(string dataSourceObjGuid, ref YWCHEntEx db)
        {
            //上传TS部件文件
            db.SkyUploadPartVer(Ts.Guid, Ts.FilePath);
            //创建地质对象(几何部件、界线、结构面等),并关联ts
            switch (MarkerType)
            {
            case "几何部件":
                //以标识点(BSD)形式创建几何部件地质对象(数据来源级别?)
                var sourceGuid = db.SkyNewObject("BSD", Guid, DbGeoType, Name, Color);
                db.SkyAddConnect(1, Ts.Guid, sourceGuid);    //?
                break;

            case "界线":
                StoreMarkerProcess(dataSourceObjGuid, "DXM", ref db);
                break;

            case "结构面":
                StoreMarkerProcess(dataSourceObjGuid, "JGM", ref db);
                break;

            case "崩塌":
                StoreMarkerProcess(dataSourceObjGuid, "BT", ref db);
                break;

            case "滑坡":
                StoreMarkerProcess(dataSourceObjGuid, "HP", ref db);
                break;

            case "泥石流":
                StoreMarkerProcess(dataSourceObjGuid, "NSL", ref db);
                break;

            case "构造带":
                StoreMarkerProcess(dataSourceObjGuid, "GZD", ref db);
                break;

            default:
                MessageBox.Show(@"Marker类型无效。", @"保存失败");
                return;
            }
        }
Esempio n. 5
0
 public override void Store(string dataSourceObjGuid, ref YWCHEntEx db)
 {
     base.Store(dataSourceObjGuid, ref db);
 }
Esempio n. 6
0
 /// <summary>
 /// 查询该数据来源的详细信息,调用GeoSmart面板。
 /// </summary>
 public void QueryDetail(ref YWCHEntEx db)
 {
     db.SkyFrmSJLYEdit(db.SkyGetSJLYMDL(Guid).SJSJLYID, new List <DMarker>(), Guid);
 }
Esempio n. 7
0
 public FrmImage(ref YWCHEntEx inDb)
 {
     InitializeComponent();
     db = inDb;
 }
Esempio n. 8
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="db"></param>
 public void UpdateTsFile(ref YWCHEntEx db)
 {
     FilePath = db.SkyGetPartNewContent(Guid);
 }
Esempio n. 9
0
 //从数据库中获取模型部件TS的新版本。
 public void GetTsFileFromDb(ref YWCHEntEx db)
 {
     Ts.UpdateTsFile(ref db);
 }