Start rock animation and stop spinning. Works on an existing NGLVieweR object in Shinymode.
updateRock(NGLVieweR_proxy, rock = TRUE)
API call containing NGLVieweR
id
and list of message
parameters.
NGLVieweR_example()
See example "updateAnimation".
Other animations:
setRock()
,
setSpin()
,
updateSpin()
,
updateZoomMove()
if (FALSE) { # \dontrun{
NGLVieweR_proxy("structure") %>% updateRock(TRUE)
} # }
if (interactive()) {
library(shiny)
ui = fluidPage(
titlePanel("Viewer with API inputs"),
sidebarLayout(
sidebarPanel(
radioButtons("animate", label = "Animation",
choices = c("None", "Spin", "Rock"), selected = "None")
),
mainPanel(
NGLVieweROutput("structure")
)
)
)
server = function(input, output) {
output$structure <- renderNGLVieweR({
NGLVieweR("7CID") %>%
addRepresentation("cartoon",
param = list(name = "cartoon", color="red"))
})
observeEvent(input$animate,{
if(input$animate == "Rock"){
NGLVieweR_proxy("structure") %>%
updateRock(TRUE)
} else if(input$animate == "Spin") {
NGLVieweR_proxy("structure") %>%
updateSpin(TRUE)
} else{
NGLVieweR_proxy("structure") %>%
updateRock(FALSE) %>%
updateSpin(FALSE)
}
})
}
shinyApp(ui, server)
}