core/vgui/vgui_displaylist3D_tableau.h
Go to the documentation of this file.
00001 // This is core/vgui/vgui_displaylist3D_tableau.h
00002 #ifndef vgui_displaylist3D_tableau_h_
00003 #define vgui_displaylist3D_tableau_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief  Displaying of three-dimensional geometric objects.
00010 // \author Philip C. Pritchett, Robotics Research Group, University of Oxford
00011 // \date   14 Sep 99
00012 //
00013 // \verbatim
00014 //  Modifications
00015 //   14-SEP-1999 P.Pritchett - Initial version.
00016 //   01-OCT-2002 K.Y.McGaul - Moved displaylist3D to displaylist3D_tableau.
00017 //   02-OCT-2002 K.Y.McGaul - Added vgui_displaylist3D_tableau_new.
00018 // \endverbatim
00019 
00020 #include <vgui/vgui_displaybase_tableau.h>
00021 #include <vgui/vgui_displaylist3D_tableau_sptr.h>
00022 #include <vgui/vgui_drag_mixin.h>
00023 
00024 class vgui_soview3D;
00025 
00026 //: Displaying of three-dimensional geometric objects
00027 class vgui_displaylist3D_tableau : public vgui_displaybase_tableau, public vgui_drag_mixin
00028 {
00029  public:
00030   //: Constructor - don't use this, use vgui_displaylist3D_tableau_new.
00031   vgui_displaylist3D_tableau() {}
00032 
00033   vcl_string type_name() const { return "vgui_displaylist3D_tableau"; }
00034 
00035   bool handle(const vgui_event& e);
00036   bool mouse_down(int x, int y, vgui_button button, vgui_modifier modifier);
00037 
00038  protected:
00039   //: Destructor - called by vgui_displaylist3D_tableau_sptr.
00040   ~vgui_displaylist3D_tableau() {}
00041 
00042  private:
00043   void get_hits(float x, float y, vcl_vector<unsigned>& my_hits);
00044 };
00045 
00046 //: Creates a smart-pointer to a vgui_displaylist3D_tableau.
00047 struct vgui_displaylist3D_tableau_new : public vgui_displaylist3D_tableau_sptr
00048 {
00049   //: Constructor - create a default vgui_displaylist3D_tableau.
00050   vgui_displaylist3D_tableau_new( )
00051     : vgui_displaylist3D_tableau_sptr(new vgui_displaylist3D_tableau) {}
00052 };
00053 
00054 #endif // vgui_displaylist3D_tableau_h_