anchor.diff:      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;
   
  
positive.code:   validL, validR: Boolean;
    refScenarioGeometryObject: TSliceGeometryPolygonLRObject;
    curScenarioGeometryObject: TSliceGeometryPolygonLRObject;
  
    polyPoints: TArray<Double>;
  begin
    widthL := Double.NaN;
    widthR := Double.NaN;
  
negative.code:   else Log.WriteLn('TSliceDiffGeometryPolygonLR layer '+fLayer.LayerID.ToString+': no palette defined', llError);
  end;
  
  procedure TSliceDiffGeometryPolygonLR.DrawDefaultPath(path: TPathData; aBitmap: FMX.Graphics.TBitmap);
  begin
    try
  