private void MovingModel(double X, double Y, double Z) { if (this.beforeRowBufferMap != null) { foreach (DF3DFeatureClass featureClassInfo in this.beforeRowBufferMap.Keys) { string facName = featureClassInfo.GetFacilityClassName(); IRowBufferCollection rowBufferCollection = this.beforeRowBufferMap[featureClassInfo] as IRowBufferCollection; object arg_51_0 = SelectCollection.Instance().FeatureClassInfoMap[featureClassInfo]; for (int i = 0; i < rowBufferCollection.Count; i++) { IRowBuffer rowBuffer = rowBufferCollection.Get(i); if (rowBuffer != null) { int num = rowBuffer.FieldIndex(featureClassInfo.GetFeatureClass().FidFieldName); if (num != -1) { int arg_87_0 = (int)rowBuffer.GetValue(num); } int num2 = rowBuffer.FieldIndex(featureClassInfo.GetFeatureLayer().GeometryFieldName); if (num2 != -1) { IGeometry geometry = rowBuffer.GetValue(num2) as IGeometry; if (geometry != null) { ITransform transform = geometry as ITransform; if (geometry != null && transform != null) { if (geometry.HasZ()) { transform.Move3D(X, Y, Z); } else { transform.Move2D(X, Y); } rowBuffer.SetValue(num2, transform); } } } #region 管线设施 if (facName == "PipeLine" || facName == "PipeNode" || facName == "PipeBuild" || facName == "PipeBuild1") { int num3 = rowBuffer.FieldIndex("Shape"); if (num3 != -1) { IGeometry geometry = rowBuffer.GetValue(num3) as IGeometry; if (geometry != null) { ITransform transform = geometry as ITransform; if (geometry != null && transform != null) { if (geometry.HasZ()) { transform.Move3D(X, Y, Z); } else { transform.Move2D(X, Y); } rowBuffer.SetValue(num3, transform); } } } int num4 = rowBuffer.FieldIndex("FootPrint"); if (num4 != -1) { IGeometry geometry = rowBuffer.GetValue(num4) as IGeometry; if (geometry != null) { ITransform transform = geometry as ITransform; if (geometry != null && transform != null) { if (geometry.HasZ()) { transform.Move3D(X, Y, Z); } else { transform.Move2D(X, Y); } rowBuffer.SetValue(num4, transform); } } } } #endregion } } } } }