[R] How to chain user mouse handlers in rgl

Dieter Menne dieter.menne at menne-biomed.de
Sat Mar 1 11:41:48 CET 2008


Dear Rglers,

With rgl, I would like to set marker when a button is pressed, but leave the
standard trackball handling otherwise. Thanks to Duncan and Oleg for helping
me handling key down.

How do I say in a custom mouse handler "after having done your work, forward
to standard trackball once only"? The example below shows the idea, but it
works only once, then reverts to standard trackball handling.

Dieter

#----------------------
library(rgl)
r3dDefaults
open3d()
shade3d(cube3d(color=rep(rainbow(6),rep(4,6))))


btn3d <- function() {
  begin <- function(x, y) {
    # Add checking for key down later
    cat(x,y,"\n")
    # Forward to trackball (no easier way?)
    newhandler <- par3d("mouseMode")
    newhandler[1] <- "trackball"
    par3d(mouseMode =  newhandler)
   }
   rgl.setMouseCallbacks(1, begin)
 }

btn3d()



More information about the R-help mailing list