rgl (version 0.95.1367)

webGLcontrols: Write HTML/Javascript code to control a WebGL display.

Description

These functions write out HTML code to control WebGL displays on the same page.

Usage

subsetSlider(subsets, labels = names(subsets), 
             fullset = Reduce(union, subsets),
             subscenes = currentSubscene3d(), prefixes = "",
             accumulate = FALSE, ...)
             
subsetSetter(subsets, subscenes = currentSubscene3d(), prefixes = "", 
			 fullset = Reduce(union, subsets),
                         accumulate = FALSE)
             
clipplaneSlider(a=NULL, b=NULL, c=NULL, d=NULL, 
                plane = 1, clipplaneids, prefixes = "", 
                labels = signif(values[,1],3), ...)
             
toggleButton(subset, subscenes = currentSubscene3d(), prefixes = "", 
             label = deparse(substitute(subset)), 
             id = paste0(basename(tempfile("input"))), name = id)

Arguments

subsets
A list of vectors of object identifiers; the slider or setter will choose among them.
labels
Labels to display corresponding to each subset. If NULL, numeric labels will be shown.
fullset
Objects in the subscene which are not in fullset will not be touched.
subscenes
The subscenes to be controlled.
prefixes
The prefixes of the WebGL scenes to be controlled.
accumulate
If TRUE, the subsets will accumulate (by union) as the value increases.
id
The id of the input control that will be generated.
name
The name of the input control that will be generated.
...
Arguments to pass to propertySlider.
a,b,c,d
The parameter values to change. Leave as NULL to hold the parameter constant.
plane, clipplaneids
The identifier of the particular clipplane to modify.
subset
The subset that the button should toggle.
label
The button label.

Value

  • subsetSetter returns a length-one character vector of class "propertySetter".

    The other functions use cat to write their output and invisibly return the id of the control that was generated.

Details

subsetSlider and clipplaneSlider generate an HTML5 slider control with a text label. To display no text, set the labels to blanks in the ... argument.

subsetSetter is a low-level function to produce the Javascript code used by subsetSlider. This code will not touch objects in the subscene 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.

toggleButton generates a button that toggles the presence of objects within a subscene. If the first entry in subset is in the subscene, all are deleted, otherwise all are added.

clipplaneSlider allows a clipping plane to be moved to a sequence of positions. Any non-NULL entries among a, b, c, d should be vectors; the slider will set those parameters of the selected clipping plane to corresponding values as the slider is moved.

See Also

writeWebGL. See propertySlider and propertySetter for lower level, more flexible functions.

Examples

Run this code
subsets <- list(1:3, 1:4, 1:5)
subsetSlider(subsets = subsets)
toggleButton(1:3)
clipplaneSlider(d = seq(0, 1, len=20), clipplaneid = 123)

Run the code above in your browser using DataCamp Workspace