00001 /********************************************************************** 00002 * control_line.H: 00003 **********************************************************************/ 00004 #ifndef CONTROL_LINE_H_IS_INCLUDED 00005 #define CONTROL_LINE_H_IS_INCLUDED 00006 00007 #include "geom/gl_view.H" 00008 00009 #include "solid_color.H" 00010 #include "toon_texture_1D.H" //less buggy toon shader 00011 #include "control_frame.H" 00012 #include "sils_texture.H" 00013 00014 /********************************************************************** 00015 * ControlLineTexture: 00016 **********************************************************************/ 00017 class ControlLineTexture : public OGLTexture { 00018 public: 00019 00020 //******** MANAGERS ******** 00021 00022 ControlLineTexture(Patch* patch = 0); 00023 00024 virtual ~ControlLineTexture(); 00025 00026 //******** RUN-TIME TYPE ID ******** 00027 00028 DEFINE_RTTI_METHODS3("Control Line", ControlLineTexture*, 00029 OGLTexture, CDATA_ITEM*); 00030 00031 //******** GTexture VIRTUAL METHODS ******** 00032 00033 virtual GTexture_list gtextures() const { 00034 return GTexture_list(_solid, _toon, _controlframe, _sils); 00035 } 00036 00037 virtual void draw_filled_tris(double alpha); 00038 virtual void draw_non_filled_tris(double alpha); 00039 00040 virtual int draw(CVIEWptr& v); 00041 virtual int draw_final(CVIEWptr& v); 00042 00043 //******** RefImageClient METHODS ******** 00044 00045 virtual int draw_vis_ref(); 00046 00047 //******** DATA_ITEM VIRTUAL METHODS ******** 00048 00049 virtual DATA_ITEM *dup() const { return new ControlLineTexture; } 00050 00051 protected: 00052 SolidColorTexture* _solid; 00053 ToonTexture_1D* _toon; 00054 ControlFrameTexture* _controlframe; 00055 SilsTexture* _sils; 00056 }; 00057 00058 #endif // CONTROL_LINE_H_IS_INCLUDED 00059 00060 // end of file control_line.H