anchor.diff:            curScenarioGeometryObject := isgop.Value;
             if bufferExtent.Intersects(curScenarioGeometryObject.fExtent) then
             begin
  -            // get reference geometry object
               validL := True;
               validR := True;
               if not (fRefSlice as TSliceGeometryPolygonLR).fGeometries.TryGetValue(isgop.Key, refScenarioGeometryObject) then
  
positive.code:       Result := fPalette.ValueToColors(fPalette.maxValue())
      else
        begin
          Result := TGeoColors.Create(TAlphaColorRec.Lightsteelblue,TAlphaColorRec.Lightsteelblue);//fPalette.ValueToColors((fPalette.minValue() + fPalette.maxValue())/2);
          aWidth := aWidth / 3;
        end;
    end
  
negative.code: begin
    widthL := Double.NaN;
    widthR := Double.NaN;
    Result := gtsFailed;
    if Assigned(fPalette) then
    begin
      aBitmap.Canvas.BeginScene;
      try
        aBitmap.Canvas.Clear(0);
        aBitmap.Canvas.Fill.Kind := TBrushKind.Solid;
        capacityFactor := IfThen((aExtent.YMax <> aExtent.YMin), 0.001/Abs(aExtent.YMax-aExtent.YMin), 0);
        bufferExtent := aExtent.Inflate(1.3);
        fCurrentSlice.fDataLock.BeginRead;
        fRefSlice.fDataLock.BeginRead;
        try
  