/*
 * $Id: $
 *
 * Description  : GL Render module template.
 * Author       : Jiri Bittner
 *
 * Purpose      :
 *    Use it as a template for your render module. Replace _render with the
 *    name of your module.
 */


#ifndef __RENDER_H__
#define __RENDER_H__

#include <wx/dcclient.h>
#include <deque>
#include "RenderGlModule.h"
#include "common.h"
#include "geometrynode.h"
#include "geometrytriangles.h"
#include "glgetproc.h"
#include "glwindow.h"

namespace VRUT
{
	///FHS import/export module class
	class _render : public RenderGlModule
	{

	public:
		///Class constructor
	  _render(MODULE_ID _id, const wxString & _name, EventHandler * msgSink);
	  ///Class destructor
	  virtual ~_render();
	  ///Get module description - \c Module overload
	  virtual wxString GetDesc() const;
	  ///Main draw method with OpenGL calls - \c RenderModule overload
	  virtual void Draw();
	  ///Release OpenGL allocated video memory - \c RenderModule overload
	  ///If called explicitly, be sure to set GLContext associated with window/module
	  virtual void Deinitialize();
	  /// initialize opengl
	  virtual bool Initialize();
	  
	  virtual void processEvent(wxCommandEvent & evt);

	};
};

#endif
