export(.check3d, 
        abclines3d, addNormals, addToSubscene3d, 
        arrow3d, as.mesh3d,
        ageSetter, asEuclidean, asHomogeneous, aspect3d, axes3d, axis3d, box3d,
        bbox3d, bg3d, bgplot3d, 
	clear3d, clearSubsceneList, clipplanes3d, clipplaneSlider, cube3d, cuboctahedron3d, 
        currentSubscene3d, cylinder3d,
        decorate3d, deform.mesh3d, delFromSubscene3d, divide.mesh3d, dodecahedron3d, dot3d, ellipse3d, extrude3d,
        figWidth, figHeight,
	gc3d, getr3dDefaults, GramSchmidt, grid3d, 
	highlevel, hook_rgl, hook_webgl,
	icosahedron3d, identify3d, identityMatrix,  
	layout3d, legend3d, light3d, lines3d, lowlevel, material3d, 
        matrixSetter, mfrow3d, movie3d, mtext3d, 
	newSubscene3d, next3d, normalize.mesh3d, observer3d, octahedron3d, oh3d, open3d, 
	par3d, par3dinterp, par3dinterpControl, par3dinterpSetter, 
        particles3d, pch3d, persp3d, planes3d, 
        play3d, plot3d, plotmath3d, points3d, 
	polygon3d, pop3d, propertySetter, propertySlider,
	qmesh3d, quads3d, readOBJ, readSTL, rgl.abclines, rgl.bbox, rgl.bg, rgl.bringtotop, rgl.clear,
	rgl.getMouseCallbacks, rgl.getWheelCallback,
	rgl.close, rgl.cur, rgl.ids, rgl.init, rgl.light, rgl.lines, rgl.linestrips,
	rgl.clipplanes, rgl.material, rgl.open, rgl.pixels, rgl.planes, rgl.points, rgl.pop, rgl.postscript,
	rgl.primitive, rgl.projection, rgl.quads, rgl.quit, rgl.Sweave, rgl.Sweave.off,
	rgl.select, rgl.select3d, rgl.set, rgl.snapshot, rgl.spheres, rgl.sprites,
	rgl.surface, rgl.texts, rgl.triangles, rgl.user2window,
	rgl.attrib, rgl.attrib.count, rgl.attrib.info, rgl.dev.list, rgl.useNULL,
        rglMouse, rglShared, rglToLattice, rglToBase,
	rgl.viewpoint, rgl.window2user, rglFonts, r3dDefaults, rotate3d, rotationMatrix,
	scale3d, scaleMatrix, scene3d, segments3d, select3d, selectpoints3d,
	rgl.setMouseCallbacks, rgl.setWheelCallback, setupKnitr, 
        setUserShaders, shade3d, 
	shapelist3d, show2d, snapshot3d, 
	spheres3d, spin3d, sprites3d, subdivision3d, 
	subsceneInfo, subsceneList, subsetSetter, subsetSlider, Sweave.snapshot,
	surface3d, terrain3d, 
	tetrahedron3d, text3d,
	texts3d, title3d, toggleButton, toggleWidget, triangulate, 
	tmesh3d, transform3d, translate3d, translationMatrix, triangles3d,
	turn3d, useSubscene3d, vertexSetter, view3d, wire3d, 
        writeASY, writeOBJ, writePLY, writeSTL, writeWebGL)

 S3method(dot3d, shapelist3d)
 S3method(wire3d, shapelist3d)
 S3method(shade3d, shapelist3d)  
 S3method(translate3d, shapelist3d)
 S3method(rotate3d, shapelist3d)
 S3method(scale3d, shapelist3d)
 S3method(addNormals, shapelist3d)
 
 S3method(dot3d, mesh3d)
 S3method(translate3d, mesh3d)
 S3method(rotate3d, mesh3d)
 S3method(scale3d, mesh3d)
 
 S3method(wire3d, mesh3d)
 S3method(shade3d, mesh3d) 
 S3method(subdivision3d, mesh3d)
 S3method(addNormals, mesh3d)
 
 S3method(plot3d, mesh3d)
 
 S3method(as.mesh3d, deldir)
 
 S3method(translate3d, default)
 S3method(rotate3d, default)
 S3method(scale3d, default)
 
 S3method(ellipse3d, default)
 S3method(ellipse3d, lm)
 S3method(ellipse3d, glm)
 S3method(ellipse3d, nls)
 
 S3method(plot3d, default)
 S3method(persp3d, default)
 S3method(persp3d, "function")
 S3method(persp3d, deldir)
 
 S3method(plot3d, rglscene)
 S3method(plot3d, rglobject)
 S3method(plot3d, rglbboxdeco)
 S3method(plot3d, rglbackground)
 S3method(plot3d, rglsubscene)
 S3method(plot3d, "function")
 S3method(plot3d, deldir)
 
 S3method(print, rglscene)
 S3method(print, rglobject)
 S3method(print, rglsubscene)
 S3method(print, indexedSetter)
 S3method(print, rglId)
 
 S3method(knit_print, rglId)
 
 S3method(summary, rglscene)
 S3method(summary, rglsubscene)
 
 if(.Platform$OS.type == "windows") {
   importFrom(utils, getWindowsHandle)
 }
 
 importFrom(graphics, legend, par, plot, plot.new, polygon,
 	    strwidth, strheight)
 importFrom(grDevices, col2rgb, colorRamp, dev.off, png, 
 	    postscript, rgb, xy.coords, xyz.coords)
 importFrom(stats, approxfun, qchisq, qf, splinefun, var)
 importFrom(utils, count.fields, file_test, flush.console,
 	    packageVersion, read.table)
 importFrom(crosstalk, crosstalkLibs, SharedData, is.SharedData)
 
# These were in rglwidget
 
export(rglwidget, renderRglwidget, rglwidgetOutput,
       playwidget, renderPlaywidget, playwidgetOutput,
       subsetControl, propertyControl, clipplaneControl, ageControl, vertexControl,
       elementId2Prefix, registerSceneChange, sceneChange,
       "%>%")

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

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