This function produces a button in an HTML scene that will toggle the display of items in the scene.

toggleWidget(sceneId, 
             ids = tagged3d(tags), tags = NULL, hidden = integer(),
             subscenes = NULL, 
             label, 
             ...)

Arguments

sceneId

The HTML id of the RGL scene being controlled, or an object as in playwidget.

ids, hidden

The RGL id numbers of the objects to toggle. Those in ids are initially shown; those in hidden are initially hidden.

tags

Alternate way to specify ids. Ignored if ids is given.

subscenes

The subscenes in which to toggle the objects.

label

The label to put on the button. The default is set from the expression passed to ids or the value of tags.

...

Additional arguments to pass to playwidget.

Details

Like playwidget, this function is designed to work within the htmlwidgets framework. If the value is printed, the button will be inserted into the output.

It is also designed to work with magrittr-style pipes: the result of rglwidget or other widgets can be piped into it to add it to a display. It can also appear first in the pipeline, if sceneId is set to NA.

Value

A widget suitable for use in an Rmarkdown-generated web page, or elsewhere.

Author

Duncan Murdoch

See also

toggleButton for the older style of HTML control.

Examples

theplot <- plot3d(rnorm(100), rnorm(100), rnorm(100), col = "red")
widget <- rglwidget(height = 300, width = 300) %>%
  toggleWidget(theplot["data"], 
               hidden = theplot[c("xlab", "ylab", "zlab")], 
               label = "Points")
if (interactive() || in_pkgdown_example())
  widget