//生成变形对象
 public void generateTransform()
 {
     if (currentUnits.Count == 1)
     {
         TransformNew = currentUnits[0].getOpreTransForm();
     }
     else
     {
         List<RectangleF> rects = new List<RectangleF>();
         for (int i = 0; i < currentUnits.Count; i++)
         {
             rects.Add(currentUnits[i].getTransformBox());
         }
         RectangleF rectAll = MathUtil.getRectsBox(rects);
         TransformNew = new Operation_Transform();
         TransformNew.posX = rectAll.X + rectAll.Width / 2;
         TransformNew.posY = rectAll.Y + rectAll.Height / 2;
         TransformNew.size.Width = rectAll.Width;
         TransformNew.size.Height = rectAll.Height;
         TransformOld = (Operation_Transform)(TransformNew.Clone());
     }
 }
 public void releaseTransform()
 {
     TransformNew = null;
 }
 private void rememberCurrentUnitsCoor(bool updateTransform)
 {
     currentUnitsPositions.Clear();
     if (currentUnits.Count == 0)
     {
         return;
     }
     MFrameUnit clip = null;
     for (int i = 0; i < currentUnits.Count; i++)
     {
         if (currentUnits[i] != null)
         {
             clip = currentUnits[i];
             currentUnitsPositions.Add(new PointF(clip.posX, clip.posY));
         }
         else
         {
             Console.WriteLine("error");
         }
     }
     if (updateTransform)
     {
         if (TransformNew != null)
         {
             TransformOld = (Operation_Transform)(TransformNew.Clone());
         }
     }
 }
 //更新单一元素的变形对象
 public void checkSingleTransform()
 {
     if (TransformNew != null)
     {
         if (currentUnits.Count == 1)
         {
             TransformNew = currentUnits[0].getOpreTransForm();
         }
     }
 }