All objects in an RGL scene have a numerical id. These ids are normally stored in vectors of class c("rglIds", "numeric"), which will also have class "rglHighlevel" or "rglLowlevel" depending on whether a high level function like plot3d or persp3d, or a low level function created the objects.

rglId(ids = integer())
lowlevel(ids = integer())
highlevel(ids = integer())
# S3 method for class 'rglId'
print(x, 
      rglwidget = getOption("rgl.printRglwidget", FALSE),
      ...)

Arguments

ids

A vector of object ids.

x

An "rglId" object to print.

rglwidget

Whether to create and print an RGL widget. If false, nothing is printed.

...

Other arguments which will be passed to rglwidget if it is used.

Details

These functions and classes are intended to allow RGL scenes to be automatically displayed in R Markdown documents. See setupKnitr for details on enabling auto-printing.

Note that all objects in the current scene will be printed by default, not just the ids in x. (One reason for this is that lights are also objects; printing objects without lights would rarely make sense.)

Value

Objects of class "rglId", c("rglHighlevel", "rglId", "numeric") or c("rglLowlevel", "rglId", "numeric") for rglId, lowlevel or highlevel respectively.

Author

Duncan Murdoch

Examples

x <- matrix(rnorm(30), ncol = 3, dimnames = list(NULL, c("x", "y", "z")))
p <- plot3d(x, type = "s")
str(p)
#>  'rglHighlevel' Named num [1:5] 1671 1672 1673 1674 1675
#>  - attr(*, "names")= chr [1:5] "data" "axes" "xlab" "ylab" ...
if (interactive() || in_pkgdown_example())
  print(p, rglwidget = TRUE)