<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def show(self, viewer=None, **kwargs):
 """ Display the current scene. Parameters viewer: str 'gl': open a pyglet window str,'notebook': return ipython.display.HTML None: automatically pick based on whether or not we are in an ipython notebook smooth : bool Turn on or off automatic smooth shading """


        if viewer is None:
            # check to see if we are in a notebook or not
            from ..viewer import in_notebook
            viewer = ['gl', 'notebook'][int(in_notebook())]

        if viewer == 'gl':
            # this imports pyglet, and will raise an ImportError
            # if pyglet is not available
            from ..viewer import SceneViewer
            return SceneViewer(self, **kwargs)
        elif viewer == 'notebook':
            from ..viewer import scene_to_notebook
            return scene_to_notebook(self, **kwargs)
        else:
            raise ValueError('viewer must be "gl", "notebook", or None')