Exemplo n.º 1
0
        public void GeometryEditStart(DF3DFeatureClass fcInfo, IRenderGeometry renderGeo, gviGeoEditType editType)
        {
            if (this._app == null || this._app.Current3DMapControl == null)
            {
                return;
            }
            if (this._geoEditor.IsEditing)
            {
                this.StopEdit(true);
            }
            this.curGeoField     = fcInfo.GetFeatureLayer().GeometryFieldName;
            this._renderGeometry = renderGeo;
            this._FeatureClass   = fcInfo;
            Gvitech.CityMaker.FdeCore.IFeatureClass featureClass = fcInfo.GetFeatureClass();
            this._row = featureClass.CreateRowBuffer();
            int num = this._row.FieldIndex(this.curGeoField);

            if (num != -1 && this._renderGeometry != null)
            {
                this._row.SetValue(num, this._renderGeometry.GetFdeGeometry());
            }
            this._geoEditType   = editType;
            this._InteractaMode = this._app.Current3DMapControl.InteractMode;
            this._app.Current3DMapControl.InteractMode = gviInteractMode.gviInteractEdit;
            if (!this._geoEditor.StartEditRenderGeometry(renderGeo, editType))
            {
                this._app.Current3DMapControl.InteractMode = this._InteractaMode;
                XtraMessageBox.Show("暂不支持该类型的编辑");
            }
            //System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass);
        }
Exemplo n.º 2
0
 public void GeometryEditStart(DF3DFeatureClass fcInfo, Gvitech.CityMaker.FdeCore.IRowBuffer row, gviGeoEditType editType)
 {
     if (this._app == null || this._app.Current3DMapControl == null)
     {
         return;
     }
     if (this._geoEditor.IsEditing)
     {
         this.StopEdit(true);
     }
     this.curGeoField    = fcInfo.GetFeatureLayer().GeometryFieldName;
     this._FeatureClass  = fcInfo;
     this._row           = row;
     this._geoEditType   = editType;
     this._InteractaMode = this._app.Current3DMapControl.InteractMode;
     this._app.Current3DMapControl.InteractMode = gviInteractMode.gviInteractEdit;
     if (!this._geoEditor.StartEditFeatureGeometry(row, fcInfo.GetFeatureLayer(), editType))
     {
         this._app.Current3DMapControl.InteractMode = this._InteractaMode;
         XtraMessageBox.Show("暂不支持该类型的编辑");
     }
 }