After a bit of debugging I found out that when setting up the IntensityGridSeries and during rendering, it seems that there are multiple places where the RangeMin and RangeMax are ordered again, thus resulting in a mirrored data set.
Code: Select all
double minX = 2.0; // minX > maxX !
double maxX = 0.0;
double minY = 0.0;
double maxY = 2.0;
IntensityGridSeries _grid;
// Will set the properties as RangeMinX > RangeMaxX, but still output as if RangeMinX < RangeMaxX
_grid.RangeMinX = minX;
_grid.RangeMaxX = maxX;
_grid.RangeMinY = minY;
_grid.RangeMaxY = maxY;
// Will sort and set the properties so that RangeMinX < RangeMaxX
_grid.SetRangesXY(minX, maxX, minY, maxY);
Since it is not documented, does the series expect "min < max" ? Can you confirm this as undefined behaviour?
Why does SetRangesXY() change min and max instead of throwing an exception? The then provided data will not match the range.
As a workaround, I think I will need to reorder the data on my own depending on min>max.
As usual, I added sample code for reproduction, screenshot:
Thanks, Andreas