LinePointRep.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _LinePointRep_H_
00015 #define _LinePointRep_H_
00016 
00017 #include "PointRepBase.h"
00018 
00019 #include "axes/Range.h"
00020 
00021 namespace hippodraw {
00022 
00023 class Rect;
00024 class Point;
00025 
00036 class MDL_HIPPOPLOT_API LinePointRep : public PointRepBase
00037 {
00038 
00039 private:
00040 
00041    // The drawing rectangle boundaries.
00042    double m_xmin, m_xmax, m_ymin, m_ymax;
00043 
00044    const Rect * m_user_rect;
00045 
00048   void transformValues ( const DataSource * source,
00049                          TransformBase * transform );
00050 
00051   bool findIntersectingCorners(Point const &p0,
00052                                Point const &p1,
00053                                bool findBothCorners,
00054                                Point &q0, Point &q1,
00055                                bool &secondCornerVisible);
00056 
00057 protected:
00058 
00065   std::vector< double > m_x;
00066 
00073   std::vector< double > m_y;
00074 
00077   hippodraw::Line::Style m_line_style;
00078 
00081   LinePointRep ( const char * name, float size );
00082 
00086   void drawValues ( ViewBase * view );
00087 
00088 public:
00090   LinePointRep();
00091 
00093   LinePointRep ( float size );
00094 
00096   LinePointRep( const LinePointRep & point_rep );
00097 
00099   virtual ~LinePointRep();
00100 
00103   virtual RepBase * clone();
00104 
00107   virtual void setStyle ( unsigned int style );
00108 
00111   virtual unsigned int getStyle ( ) const;
00112 
00113   virtual void drawProjectedValues ( const DataSource * ntuple,
00114                                      TransformBase * transform,
00115                                      ViewBase * previews );
00116 
00119   virtual bool uses ( hippodraw::Line::Style ) const;
00120 
00121 };
00122 
00123 } // namespace hippodraw
00124 
00125 #endif // _LinePointRep_H_

Generated for HippoDraw Class Library by doxygen