Skip to content
Prev 138076 / 398506 Next

How to chain user mouse handlers in rgl

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()