SymbolPointRep.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 
14 #ifndef _SymbolPointRep_H_
15 #define _SymbolPointRep_H_
16 
17 #include "PointRepBase.h"
18 
19 #include "axes/Range.h"
20 
21 namespace hippodraw {
22 
23 class BinaryTransform;
24 class PeriodicBinaryTransform;
25 
45 {
46 
47 private:
48 
52  static void rotate ( double & lat, double & lon,
53  double alpha, double beta, double gamma,
54  bool negative=true );
55 
56 protected:
57 
64  std::vector < double > m_x;
65 
67  std::vector< double > m_y;
68 
71  bool m_x_flag;
72 
75  bool m_y_flag;
76 
77  private:
78 
83 
86  double c_beta;
87 
90  double c_gamma;
91 
94  double c_max_x;
95 
98 
101 
103  double m_x_cap;
104 
106  double m_y_cap;
107 
108  protected:
109 
112 
113 public:
114 
117  SymbolPointRep ( hippodraw::Symbol::Type symbol, float size );
118 
120  SymbolPointRep ( );
121 
123  SymbolPointRep ( const SymbolPointRep & point_rep );
124 
126  ~SymbolPointRep();
127 
130  virtual RepBase * clone ();
131 
132  virtual void setColor ( const Color & color );
133 
136  virtual void setSize ( float value );
137 
138  virtual void setStyle ( unsigned int symbol );
139 
142  virtual unsigned int getStyle ( ) const;
143 
144  virtual bool xError ( ) const;
145 
146  virtual bool yError ( ) const;
147 
151  virtual void setErrorOn ( hippodraw::Axes::Type axis, bool yes = true );
152 
154  virtual void transformPoints ( const TransformBase & transform,
155  ViewBase & view );
156 
157  virtual void drawProjectedValues ( const DataSource * ntuple,
158  TransformBase * transform,
159  ViewBase * view );
160 
161 
162 protected:
163 
167  void beginPlot ( unsigned int size,
168  const BinaryTransform * tf,
169  const ViewBase * view );
170 
178  bool drawProjectedValue ( unsigned int i,
179  const DataSource * ntuple,
180  const BinaryTransform * transform,
181  ViewBase * view );
182 
186  virtual bool uses ( hippodraw::Symbol::Type ) const;
187 
188 };
189 
190 } // namespace hippodraw
191 
192 #endif // _SymbolPointRep_H_
#define MDL_HIPPOPLOT_API
Definition: libhippo.h:36
unsigned int i
A transform that transforms coordinates from one coordinate system to another.
Definition: TransformBase.h:35
const PeriodicBinaryTransform * c_periodic_tf
Cached dynamic cast of BinaryTransform to PeriodicBinaryTransform if the BinaryTransform is periodic...
hippodraw::Symbol::Type m_plot_symbol
The PlotSymbol currently used.
Type
Enumeration of the type of symbols supported by this class.
Definition: SymbolType.h:28
double m_y_cap
The Y error bar cap length.
return yes
Definition: CanvasView.cxx:883
A Color class for creating the color object following the standard RGB color space.
Definition: Color.h:37
double c_beta
Cached xOffset of PeriodicBinaryTransform.
A Periodic transform that transforms coordinates from one 2D coordinate system to another...
A PointRep class draws a symbol to represent the value.
std::vector< double > m_y
A cache of the points to be drawn on the Y axis.
numeric::array clone(numeric::array arr)
Definition: num_util.cpp:412
intp size(numeric::array arr)
Definition: num_util.cpp:296
double c_max_x
Cached xHighLimit of PeriodicBinaryTransform.
double m_x_cap
The X error bar cap length.
The abstract base class for views.
Definition: ViewBase.h:62
std::vector< double > m_x
A cache of the points to be drawn on the X axis.
Range c_x_range
Cached Range on X axis.
A transform that transforms coordinates from one 2D coordinate system to another. ...
hippodraw::Range class interface
hippodraw::PointRepBase class interface
Expresses a range of values.
Definition: Range.h:33
bool m_x_flag
The x error flag.
Range c_y_range
Cached Range on X axis.
double c_gamma
Cached yOffset of PeriodBinaryTransform.
bool m_y_flag
The y error flag.
Type
Axes constants.
Definition: AxesType.h:31
The base class for the point representation hierarchy.
Definition: RepBase.h:45
The base class for the point representation hierarchy.
Definition: PointRepBase.h:37
Base class for DataSource.
Definition: DataSource.h:55

Generated for HippoDraw Class Library by doxygen