protected internal PointF Transform3D(ChartArea3D chartArea, DataPoint point, ChartGraphics graph)
 {
     if (chartArea is ChartArea && IsArea3D((ChartArea)chartArea))
     {
         float positionZ = chartArea.areaSceneDepth;
         if (point != null && point.series != null)
         {
             float depth = 0f;
             chartArea.GetSeriesZPositionAndDepth(point.series, out depth, out positionZ);
             positionZ += depth / 2f;
         }
         PointF    positionRel = point.positionRel;
         Point3D[] array       = new Point3D[1]
         {
             new Point3D(positionRel.X, positionRel.Y, positionZ)
         };
         chartArea.matrix3D.TransformPoints(array);
         return(array[0].PointF);
     }
     return(point.positionRel);
 }
 protected internal PointF Transform3D(ChartArea3D chartArea, DataPoint point, ChartGraphics graph)
 {
     if (chartArea is ChartArea && this.IsArea3D((ChartArea)chartArea))
     {
         float num = chartArea.areaSceneDepth;
         if (point != null && point.series != null)
         {
             float num2 = 0f;
             chartArea.GetSeriesZPositionAndDepth(point.series, out num2, out num);
             num = (float)(num + num2 / 2.0);
         }
         PointF    positionRel = point.positionRel;
         Point3D[] array       = new Point3D[1]
         {
             new Point3D(positionRel.X, positionRel.Y, num)
         };
         chartArea.matrix3D.TransformPoints(array);
         return(array[0].PointF);
     }
     return(point.positionRel);
 }