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