SymbolPointRep.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _SymbolPointRep_H_
00015 #define _SymbolPointRep_H_
00016 
00017 #include "PointRepBase.h"
00018 
00019 #include "axes/Range.h"
00020 
00021 namespace hippodraw {
00022 
00023 class BinaryTransform;
00024 class PeriodicBinaryTransform;
00025 
00044 class MDL_HIPPOPLOT_API SymbolPointRep : public PointRepBase
00045 {
00046 
00047 private:
00048 
00052   static void rotate ( double & lat, double & lon,
00053                        double alpha, double beta, double gamma, 
00054                        bool negative=true );
00055 
00056 protected:
00057 
00064   std::vector < double > m_x;
00065 
00067   std::vector< double > m_y;
00068 
00071   bool m_x_flag;
00072 
00075   bool m_y_flag;
00076 
00077  private: 
00078 
00082   const PeriodicBinaryTransform * c_periodic_tf;
00083 
00086   double c_beta;
00087 
00090   double c_gamma;
00091 
00094   double c_max_x;
00095 
00097   Range c_x_range;
00098 
00100   Range c_y_range;
00101 
00103   double m_x_cap;
00104 
00106   double m_y_cap;
00107 
00108  protected:
00109 
00111   hippodraw::Symbol::Type  m_plot_symbol;
00112 
00113 public:
00114 
00117   SymbolPointRep ( hippodraw::Symbol::Type symbol, float size );
00118 
00120   SymbolPointRep ( );
00121 
00123   SymbolPointRep ( const SymbolPointRep & point_rep );
00124 
00126   ~SymbolPointRep();
00127 
00130   virtual RepBase * clone ();
00131 
00132   virtual void setColor ( const Color & color );
00133 
00136   virtual void setSize ( float value );
00137 
00138   virtual void setStyle ( unsigned int symbol );
00139 
00142   virtual unsigned int getStyle ( ) const;
00143 
00144   virtual bool xError ( ) const;
00145 
00146   virtual bool yError ( ) const;
00147 
00151   virtual void setErrorOn ( hippodraw::Axes::Type axis, bool yes = true );
00152 
00154   virtual void transformPoints ( const TransformBase & transform, 
00155                                  ViewBase & view );
00156 
00157   virtual void drawProjectedValues ( const DataSource * ntuple,
00158                                      TransformBase * transform,
00159                                      ViewBase * view );
00160 
00161 
00162 protected:
00163 
00167   void beginPlot ( unsigned int size, 
00168                    const BinaryTransform * tf, 
00169                    const ViewBase * view );
00170 
00178   bool drawProjectedValue ( unsigned int i, 
00179                             const DataSource * ntuple, 
00180                             const BinaryTransform * transform,
00181                             ViewBase * view );
00182 
00186   virtual bool uses ( hippodraw::Symbol::Type ) const;
00187 
00188 };
00189 
00190 } // namespace hippodraw
00191 
00192 #endif // _SymbolPointRep_H_

Generated for HippoDraw Class Library by doxygen