Exemplo n.º 1
0
 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
                 }
             }
         }
     }
 }