anchor.diff:      fRefSlice.fDataLock.BeginRead;
       try
         Result := fCurrentSlice.getDataValueAtPoint(aLat, aLon, cur);
  -      if Result=gtsOk then 
  +      if Result=gtsOk then
         begin
           Result := fRefSlice.getDataValueAtPoint(aLat, aLon, ref);
           if Result=gtsOk then
  
positive.code:     end
      else
        Result := aRefValue*aCapacityFactor*aXY_Diff/aPerpDist;
    end;
  end;
  
  procedure TSliceDiffGeometryDoublePolygonLR.DrawFillPolygon(aColor: TGeoColors; aBitmap: FMX.Graphics.TBitmap; aPolygonCommon, aPolygonExtra: TPolygon; xCommon, xExtra: Double);
  begin
    if aColor.fillColor<>0  then
    begin
      if xCommon <> xExtra then
      begin
        aBitmap.Canvas.Fill.Color := TAlphaColorRec.Lightsteelblue;
        aBitmap.Canvas.FillPolygon(aPolygonCommon, 1);
  
        aBitmap.Canvas.Fill.Color := aColor.fillColor;
        aBitmap.Canvas.FillPolygon(aPolygonExtra, 1);
      end
      else
      begin
        aBitmap.Canvas.Fill.Color := TAlphaColorRec.Lightsteelblue;
        aBitmap.Canvas.FillPolygon(aPolygonCommon, 1);
      end;
    end;
  
    if aColor.outlineColor<>0 then
    begin
      if xCommon <> xExtra then
      begin
        aBitmap.Canvas.Stroke.Color := TAlphaColorRec.Lightsteelblue;
        aBitmap.Canvas.DrawPolygon(aPolygonCommon, 1);
  
        aBitmap.Canvas.Stroke.Color := aColor.outlineColor;
        aBitmap.Canvas.DrawPolygon(aPolygonExtra, 1);
      end
      else
      begin
        aBitmap.Canvas.Stroke.Color := TAlphaColorRec.Lightsteelblue;
        aBitmap.Canvas.DrawPolygon(aPolygonCommon, 1);
      end;
    end;
  end;
  
  
negative.code:   validL, validR: Boolean;
    refScenarioGeometryObject: TSliceGeometryPolygonLRObject;
    curScenarioGeometryObject: TSliceGeometryPolygonLRObject;
  begin
    widthL := Double.NaN;
    widthR := Double.NaN;
  