Nevron Forum

mesh frame does not draw when antialiasing is turned on

https://www.nevron.com/Forum/Topic9143.aspx

By Karl Baum - Thursday, May 14, 2015

Hi,
I came across an issue when turning on anti-aliasing.
    _MyChartControl.Settings.ShapeRenderingMode = ShapeRenderingMode.AntiAlias;
I am displaying a colored wireframe surface.
    _MySurfaceSeries.FillMode = SurfaceFillMode.None;
    _MySurfaceSeries.FrameColorMode = SurfaceFrameColorMode.CustomColors;
    _MySurfaceSeries.FrameMode = SurfaceFrameMode.Mesh;

With ShapeRenderingMode set to ShapeRenderingMode.None things work as expected.  When set to ShapeRenderingMode.AnitAlias no mesh is drawn.  The axes and other components are drawn.

This was confusing and I tracked down a resolution.
I was setting the color of each vertex by using:
    uint[] gridColors = _MySurfaceData.Colors;
    gridColors[XXX] = YYY;
But if I instead use
    _MySurfaceData.SetColor(XXX);
The problem goes away.

Why does the mesh fail to display when turning on anti-aliasing and directly setting the color array value?  Is this a bug?
By Nevron Support - Friday, May 15, 2015

Hi Karl,

There was a small problem with the surface data (you need to call a method called OnDataChanged in order to notify the surface that you've accessed the data so that it can rebuild it's internal cache). However that method was marked private and we'll correct that in the next SP of the control. For the time being you need to use SetColor.
By Karl Baum - Friday, May 15, 2015

I saw OnDataChanged was being called in the Grid Surface example in the help, but was unable to call it.
Thanks for looking into the issue.