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_