Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

line_drawing.H

Go to the documentation of this file.
00001 #ifndef LINE_DRAWING_H_IS_INCLUDED
00002 #define LINE_DRAWING_H_IS_INCLUDED
00003 
00004 /*!
00005  *  \file line_drawing.H
00006  *  \brief Contains the definitions of the classes that implement the
00007  *  "Line Drawing" rendering style GTexture.
00008  *
00009  *  \sa line_drawing.C
00010  *
00011  */
00012 
00013 #include "gtex/basic_texture.H"
00014 #include "gtex/solid_color.H"
00015 
00016 /*!
00017  *  \brief GTexture that implements the "Line Drawing" rendering style.
00018  *
00019  */
00020 class LineDrawingTexture : public BasicTexture {
00021    
00022  public:
00023    
00024    //! \name Constructors
00025    //@{
00026       
00027    LineDrawingTexture(Patch* patch = 0, StripCB* cb=0);
00028       
00029    ~LineDrawingTexture();
00030       
00031    //@}
00032       
00033    //! \name RTTI Related
00034    //@{
00035       
00036    DEFINE_RTTI_METHODS3("Line Drawing", LineDrawingTexture*,
00037                         BasicTexture, CDATA_ITEM *);
00038       
00039    //@}
00040       
00041    //! \name GTexture Virtual Methods
00042    //@{
00043       
00044    virtual int draw(CVIEWptr& v); 
00045       
00046    //@}
00047       
00048    //! \name DATA_ITEM Virtual Methods
00049    //@{
00050       
00051    virtual DATA_ITEM  *dup() const { return new LineDrawingTexture; }
00052       
00053    //@}
00054       
00055    //! \name Style Parameter Accessors
00056    //@{
00057       
00058    static bool get_draw_in_color()
00059       { return draw_in_color; }
00060    static void set_draw_in_color(bool draw_in_color_in)
00061       { draw_in_color = draw_in_color_in; }
00062    static bool get_draw_contours()
00063       { return draw_contours; }
00064    static void set_draw_contours(bool draw_contours_in)
00065       { draw_contours = draw_contours_in; }
00066    static bool get_draw_sugcontours()
00067       { return draw_sugcontours; }
00068    static void set_draw_sugcontours(bool draw_sugcontours_in)
00069       { draw_sugcontours = draw_sugcontours_in; }
00070    static float get_sugcontour_thresh()
00071       { return sugcontour_thresh; }
00072    static void set_sugcontour_thresh(float sugcontour_thresh_in)
00073       { sugcontour_thresh = sugcontour_thresh_in; }
00074       
00075    //@}
00076    
00077  private:
00078    
00079    SolidColorTexture *solid_color_texture;
00080       
00081    static bool draw_in_color;       //!< Draw contours in color?
00082    static bool draw_contours;       //!< Draw contours (a.k.a. silhouettes)?
00083    static bool draw_sugcontours;    //!< Draw suggestive contours?
00084    static float sugcontour_thresh;  //!< Suggestive contour threshold
00085 
00086 };
00087 
00088 #endif // LINE_DRAWING_H_IS_INCLUDED

Generated on Mon Sep 18 11:39:32 2006 for jot by  doxygen 1.4.4