These are setter functions to produce actions in a Shiny app, or in an animation.

subsetControl(value = 1, subsets, subscenes = NULL,
                         fullset = Reduce(union, subsets),
                         accumulate = FALSE)
propertyControl(value = 0, entries, properties, 
                objids = tagged3d(tags), tags, values = NULL,
                param = seq_len(NROW(values)) - 1, interp = TRUE)

Arguments

value

The value to use for input (typically input$value in a Shiny app.)

subsets

A list of vectors of object identifiers; the value will choose among them.

fullset

Objects in the subscene which are not in fullset will not be touched.

subscenes

The subscenes to be controlled. If NULL, the root subscene.

accumulate

If TRUE, the subsets will accumulate (by union) as the value increases.

entries, properties, objids

Which properties to set.

tags

Select objects with matching tags. Ignored if objids is specified.

values

Values to set.

param

Parameter values corresponding to the rows of value

interp

Whether to use linear interpolation between param values

Details

subsetControl produces data for playwidget to display subsets of the object in one or more subscenes. This code will not touch objects in the subscenes if they are not in fullset. fullset defaults to the union of all the object ids mentioned in subsets, so by default if an id is not mentioned in one of the subsets, it will not be controlled by the slider. If value is specified in R code, it will be a 1-based index into the subsets list; when specified internally in Javascript, 0-based indexing into the corresponding array will be used.

propertyControl sets individual properties. Here the row of values is determined by the position of value in param.

Value

These functions return controller data in a list of class "rglControl".

Author

Duncan Murdoch

See also

subsetSetter for a way to embed a pure Javascript control, and playwidget for a way to use these in animations (including Shiny), rglShared for linking using the crosstalk package.