更新ILNumerics表面图形

时间:2013-07-23 11:48:34

标签: ilnumerics

我正在使用ILPlotCube对象来显示从用户数据生成的表面,我创建了一个上下文菜单,并添加了一些选项来更改一些绘图设置,例如colourmap,lighting等。问题我是一旦做出改变,让图表的图形自动更新;因为它是我可以更新添加的灯光或更改的colourmap的唯一方法是通过调用绘图对象上的许多鼠标事件之一。我已经搜索了ILPlotCube,ILSurface和ILScene类,并且找不到任何看似这样做的功能(我原本认为ILPlotCube类的Reset()方法会执行所需的但实际上并没有)。有没有人有关于更新图形的更多信息以及可能的解决方案?

1 个答案:

答案 0 :(得分:1)

ILNumerics中节点上的鼠标事件提供了ILMouseEventArgs的参数。该类型提供Refresh属性。在鼠标事件处理程序中将此设置为true。在处理完所有事件后,它将触发重绘:

void iILNode_MouseClick(object sender, ILMouseEventArgs e) {
    if (e.DirectionUp) {
        //modify scene here
        // .. 
        // trigger redraw of the scene
        e.Refresh = true; 
    }
}

有关鼠标事件处理的文档:http://ilnumerics.net/mouse-events.html