export(rglwidget, renderRglwidget, rglwidgetOutput,
       playwidget, renderPlaywidget, playwidgetOutput,
       subsetControl, propertyControl, clipplaneControl, ageControl, vertexControl,
       .ageSetter, .par3dinterpSetter, .propertySetter, .vertexSetter,
       .propertySlider, .subsetSetter,
       .writeWebGL, .setupKnitr, .hook_webgl, .hook_rgl,
       elementId2Prefix, registerSceneChange, sceneChange,
       "%>%")

importFrom(grDevices, col2rgb, postscript)
importFrom(stats, var)
importFrom(utils, file_test, packageVersion)

importFrom(rgl, scene3d, points3d, axis3d, box3d, open3d, rgl.set, rgl.close,
           subdivision3d, octahedron3d, par3d,
           rgl.cur, rgl.snapshot, rgl.postscript,
           snapshot3d, rgl.useNULL, currentSubscene3d)

importFrom(htmlwidgets, createWidget, shinyRenderWidget, shinyWidgetOutput, sizingPolicy)
importFrom(htmltools, includeScript, tags, tagList, browsable)
importFrom(jsonlite, toJSON)
importFrom(knitr, fig_path, hook_plot_custom, image_uri, knit_hooks, knit_print, opts_knit)
importFrom(shiny, getDefaultReactiveDomain)
importFrom(magrittr, "%>%")

S3method(playwidget, default)
S3method(playwidget, rglWebGL)
S3method(playwidget, rglPlayer)
S3method(playwidget, shiny.tag.list)
