一旦使用 rgl.setMouseCallbacks 设置回调, rgl.setMouseCallbacks( 1, NULL, NULL, NULL ) 将不会恢复默认行为。这是一个错误还是一个功能?如果是错误,我应该提交问题吗?
我正在寻找信息。
将回调设置为
NULL
意味着“无处理程序”。当文档说 NULL
是“默认值”时,他们谈论的是此函数的默认值,而不是默认的鼠标处理程序。
如果要恢复默认值,可以使用
par3d(mouseMode = r3dDefaults()$mouseMode)
。
如果您想恢复以前的值(可能不是默认值),您需要保存它,然后恢复它。例如,
# save old values
oldmode <- par3d("mouseMode")
oldhandlers <- rgl.getMouseCallbacks(button)
# set new values
rgl.setMouseCallbacks(button, begin=..., etc.)
.... use them for a while ....
# restore old values
do.call(rgl.setMouseCallbacks, c(list(button = button), oldhandlers))
par3d(mouseMode = oldmode)