anchor.diff:    isgop: TPair<TWDID, TSliceGeometryICObject>;
     capacityFactor: Double;
     path: TPathData;
  +  maxValue: Double;
  +  maxPixels: Double;
     bufferExtent: TExtent;
     colors: TGeoColors;
   begin
  
positive.code:       aBitmap.Canvas.Clear(0);
        aBitmap.Canvas.Fill.Kind := TBrushKind.Solid;
        capacityFactor := 0.001/Abs(aExtent.YMax-aExtent.YMin);
        bufferExtent := aExtent.Inflate(1.3);
        fCurrentSlice.fDataLock.BeginRead;
        fRefSlice.fDataLock.BeginRead;
        try
  
negative.code:                     yn := xPrev-x;
                      // normalize..
                      l := sqrt((xn*xn)+(yn*yn));
                      polygon[0].X := xPrev;
                      polygon[0].Y := yPrev;
                      polygon[1].X := x;
                      polygon[1].Y := y;
                      polygon[4].X := xPrev;
                      polygon[4].Y := yPrev;
  
                      // right = value2 and colors2
                      if not IsNaN(isgop.Value.value2) then
                      begin
                        xd := isgop.Value.value2*capacityFactor*xn/l;
                        yd := isgop.Value.value2*capacityFactor*yn/l;
  
                        polygon[2].X := x-xd;
                        polygon[2].Y := y-yd;
  