core/vgui/vrml/vgui_vrml_tableau.h
Go to the documentation of this file.
00001 // This is core/vgui/vrml/vgui_vrml_tableau.h
00002 #ifndef vgui_vrml_tableau_h_
00003 #define vgui_vrml_tableau_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief  Tableau to display VRML.
00010 // \author Philip C. Pritchett, Robotics Research Group, University of Oxford
00011 // \date   17 Sep 99
00012 //
00013 // \verbatim
00014 //  Modifications
00015 //   17-SEP-1999 P.Pritchett - Initial version.
00016 //   13-SEP-1999 K.Y.McGaul - Changed to Doxygen style comments.
00017 // \endverbatim
00018 
00019 #include <vgui/vgui_tableau.h>
00020 
00021 #include <vgui/vgui_tableau_sptr.h>
00022 
00023 class vgui_vrml_tableau;
00024 typedef vgui_tableau_sptr_t<vgui_vrml_tableau> vgui_vrml_tableau_sptr;
00025 
00026 class QvVrmlFile;
00027 class vgui_vrml_draw_visitor;
00028 
00029 //: Tableau to display VRML.
00030 class vgui_vrml_tableau : public vgui_tableau
00031 {
00032  public:
00033   vgui_vrml_tableau(const char* file, bool scale);
00034   ~vgui_vrml_tableau();
00035 
00036   // vgui_tableau methods/data
00037   bool handle(const vgui_event &);
00038   void invalidate_vrml();
00039 
00040   vcl_string file_name() const;
00041   vcl_string pretty_name() const;
00042   vcl_string type_name() const;
00043 
00044   QvVrmlFile* vrml;
00045   vgui_vrml_draw_visitor* drawer;
00046   int setup_dl;
00047 
00048   void set_rescale( bool flag) { rescale_model= flag; }
00049 
00050  private:
00051 
00052   bool rescale_model;
00053 };
00054 
00055 //: Creates a smart-pointer to a vgui_vrml_tableau.
00056 struct vgui_vrml_tableau_new : public vgui_vrml_tableau_sptr
00057 {
00058   typedef vgui_vrml_tableau_sptr base;
00059   vgui_vrml_tableau_new(char const* file, bool scale = true) : base(new vgui_vrml_tableau(file, scale)) { }
00060 };
00061 
00062 
00063 #endif // vgui_vrml_tableau_h_