sceneChange {rgl} | R Documentation |
Make large change to a scene from Shiny
Description
These functions allow Shiny apps to make relatively large changes to a scene, adding and removing objects from it.
Usage
sceneChange(elementId, x = scene3d(minimal),
delete = NULL, add = NULL, replace = NULL,
material = FALSE, rootSubscene = FALSE,
delfromSubscenes = NULL, skipRedraw = FALSE,
minimal = TRUE)
registerSceneChange()
Arguments
elementId |
The id of the element holding the |
x |
The new scene to use as a source for objects to add. |
delete , add , replace |
Object ids to modify in the scene. The |
material |
Logical to indicate whether default material should be updated. |
rootSubscene |
Logical to indicate whether root subscene should be updated. |
delfromSubscenes |
A vector of subscene ids that may have been changed by
deletions. By default, all subscenes in |
skipRedraw |
If |
minimal |
See |
Details
registerSceneChange
must be called in the UI component
of a Shiny app to register the "sceneChange"
custom
message.
Value
registerSceneChange
returns the HTML code to register the
message.
sceneChange
returns a list to be used as the "sceneChange"
message to change the scene. Use
shiny::session$sendCustomMessage
to send it.
Author(s)
Duncan Murdoch
See Also
playwidget
for a different approach to modifying
scenes that can be much faster, but may be less flexible. The
Shiny demo in this package makes use of all of these approaches.
Examples
## Not run:
shinyUI(fluidPage(
registerSceneChange(),
actionButton("thebutton", "Change")
))
shinyServer(function(input, output, session) {
observeEvent(input$thebutton, {
session$sendCustomMessage("sceneChange",
sceneChange("thewidget", delete = deletes, add = adds))
})
})
## End(Not run)