//private Point? PrePenDownPoint
 //{
 //    get
 //    {
 //        return _prePenDownPoint;
 //    }
 //    set
 //    {
 //        _prePenDownPoint = value;
 //    }
 //}
 private ShapeData TranslateVisualPointToPathShapData(HeatMapVisualPoint point)
 {
     ShapeData shape = new ShapeData();
     if (point.IsDashArrowPoint && _prePenDownPoint == null)
     {
         shape.ShapType = ShapeBuilderType.StartEllipse;
         shape.Position = point.VisualPoint;
         _prePenDownPoint = point.VisualPoint;
     }
     else if (point.IsDashArrowPoint && _prePenDownPoint != null)
     {
         shape.ShapType = ShapeBuilderType.ArrowLine;
         shape.Start = _prePenDownPoint.Value;
         shape.End = point.VisualPoint;
         _prePenDownPoint = point.VisualPoint;
     }
     else
     {
         shape.ShapType = ShapeBuilderType.Rectangle;
         shape.Position = point.VisualPoint;
     }
     return shape;
 }
        private ShapeData TranslateVisualPointToRangeIndicatorShapData(HeatMapVisualPoint point)
        {
            if (RangeRadius == null)
            {
                return null;
            }

            if (!point.IsNeedRangeIndicator)
            {
                return null;
            }

            ShapeData RangeShap = new ShapeData();
            RangeShap.Position = point.VisualPoint;
            //for DE5970
            RangeShap.Radius = RangeRadius.Value/4;
            RangeShap.ShapType = ShapeBuilderType.RangeEllipse;
            RangeShap.Brush = point.Brush;
            return RangeShap;
        }
 private ShapeBuilderType TransLatePointType(HeatMapVisualPoint point)
 {
     if (point.IsDashArrowPoint)
     {
         return ShapeBuilderType.ArrowLine;
     }
     else
     {
         return ShapeBuilderType.Rectangle;
     }
 }