Learn R Programming

rgl (version 0.100.54)

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

playwidget and toggleWidget for a newer, preferred method of inserting controls into a scene.

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

Examples

Run this code
# NOT RUN {
  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 DataLab