22 class CompositePlotter;
82 void checkAutoScale ();
87 void prepareToDraw ();
112 TupleCut * getCutAt (
unsigned int i );
117 XyPlotter (
const std::string & name =
"XyPlotter" );
132 virtual void setEnableZ (
bool yes =
true );
134 virtual void drawIn (
ViewBase * view );
140 virtual void drawCrossHairs (
ViewBase * view );
142 virtual NTuple * createNTuple ()
const;
146 virtual bool wantsPixmap ( )
const;
160 void setTitleFont(
FontBase* font );
165 virtual const FontBase * titleFont ( )
const;
173 virtual void setActivePlot (
int index,
bool redraw );
177 virtual int activePlotIndex ()
const;
182 virtual void addDataRep (
DataRep * rep );
188 virtual void addDataRepStacked (
DataRep * rep );
192 virtual void removeDataRep (
DataRep * rep );
199 virtual void autoScale ( );
205 virtual void setValueRep (
BinToColor * rep );
210 virtual void setAutoRanging (
bool flag );
216 virtual void setAutoRanging (
Axes::Type axis,
bool flag );
220 virtual void setReverse (
bool flag );
224 virtual void setShowGrid (
bool flag );
228 virtual bool getShowGrid ();
232 virtual void setBoxEdge(
bool flag);
236 virtual bool getBoxEdge();
244 virtual void setFitsTransform (
const std::string & );
258 virtual NTuple * createPickTuple ();
274 virtual void fillPickedPointFrom (
double mx,
double my,
275 std::vector < double > & picked )
const;
279 virtual void setLowRange (
Axes::Type axis,
int parm,
284 virtual void setHighRange (
Axes::Type axis,
int parm,
289 virtual void setScaling (
Axes::Type axis,
bool on =
true );
297 virtual double getAspectRatio ()
const;
299 virtual void update ();
304 virtual void setRepresentation (
RepBase * pointrep );
308 virtual RepBase * representation ( )
const;
322 virtual void setErrorDisplay (
Axes::Type axis,
bool );
326 virtual bool errorDisplay (
Axes::Type axis )
const;
330 virtual void setRepColor (
const Color & );
334 virtual const Color & repColor ()
const;
341 virtual void drawProjValues (
ViewBase * view );
345 bool hasAutoScaled ()
const;
350 virtual bool hasNTupleBindings ()
const;
355 virtual bool hasZoomY ()
const;
359 virtual void checkAxisScaling ();
371 virtual DataRep * getDataRep (
int index )
const;
375 virtual DataRep * getTarget ( )
const;
379 bool isTargetable ()
const;
384 virtual int getNumDataReps ()
const;
388 virtual int indexOf (
const DataRep * )
const;
392 virtual double getBinWidth (
Axes::Type )
const;
398 virtual void setBinWidth (
Axes::Type axis,
double width );
401 virtual void reset ( );
412 virtual double getPosRange (
Axes::Type axis )
const;
417 virtual double getOffset (
Axes::Type axis)
const;
432 virtual void addValues (
const std::vector < double > & v );
434 virtual const std::string &
439 virtual const std::string & getLabel (
Axes::Type )
const;
443 virtual void setLabel (
Axes::Type,
const std::string & value );
447 virtual int getNumberOfEntries ()
const;
451 virtual bool hasAxis (
Axes::Type axis )
const;
457 virtual const BinToColor * getValueRep ()
const;
462 virtual bool isAutoRanging (
Axes::Type axis )
const;
466 virtual bool isReverse ( )
const;
472 virtual void matrixTranspose (
bool yes );
477 virtual DataRep * selectedDataRep ()
const;
481 virtual void setAutoTicks (
Axes::Type axis,
bool yes );
486 const std::vector < AxisTick > & ticks );
492 virtual void setNumberOfBins (
Axes::Type axis,
493 unsigned int number );
499 virtual void setOffset (
Axes::Type axis,
double offset );
512 bool scaled =
false,
bool adjust_width =
true );
517 void fillCutList ( std::vector < const TupleCut * > & cuts )
const;
521 virtual void setCutRangeAt (
const Range & range,
unsigned int i );
526 virtual Range getCutRange ();
530 virtual void setCutInverted (
unsigned int i,
bool yes =
true );
534 virtual void setCutEnabled (
unsigned int i,
bool yes =
true );
537 const std::vector <double> & getZValues();
538 const std::vector <unsigned int> & getShape();
541 virtual bool getCutInversion ();
545 virtual void setMinEntries(
int entries );
549 virtual int getMinEntries ();
553 virtual void setNeedUpdate(
bool isChanged);
559 virtual bool isImageConvertable ()
const;
562 virtual void setTopMargin(
double top );
563 virtual void setBottomMargin(
double bottom );
564 virtual void setLeftMargin(
double left );
565 virtual void setZMargin(
double z );
567 virtual double getTopMargin();
568 virtual double getBottomMargin();
569 virtual double getLeftMargin();
570 virtual double getZMargin();
574 virtual void setScaleFactor (
Axes::Type axis,
double factor );
578 virtual double getScaleFactor (
Axes::Type axis )
const;
582 virtual bool isAxisScaled (
Axes::Type axis )
const;
588 #endif // _XyPlotter_H_ int m_active_index
Index to the active plotter.
A abstract base class for font handling.
std::vector< unsigned int > m_lambert_shape
std::vector< unsigned int > m_hammer_shape
Default shape for XyPlotter is 360*180 or 256*256.
The base class for data representations.
double m_z_ratio
The conversion ratio from the user coordinate system to the view's coordinate system along the color ...
PlotterList_t m_plotters
The list of CompositePlotter objects contained by this plotter.
The base class for the point representation hierarchy.
CompositePlotter * m_plotter
The currently active plotter that draws the data points.
A Color class for creating the color object following the standard RGB color space.
The base class for the PlotterBase hierarchy.
A DataSource class implemented with std::vector<double> to store the column data. ...
std::vector< CompositePlotter *> PlotterList_t
The type of standard C++ container to hold CompositePlotter objects.
#define MDL_HIPPOPLOT_API
Expresses a range of values.
The base class for the Projector hierarchy.
A class for containing one or more DataRep objects in a single composite plot.
A transform that transforms coordinates from one coordinate system to another.
The abstract base class for views.
hippodraw::PlotterBase class interface.
bool view_change_allowed
Flag to indicate if the view size of the plot can be changed.
A Plotter class that plots points in 2 dimensions and option a third dimension in color...
The base class for the axis representation hierarchy.
bool m_need_update
Flag to indicat that the drawrect and marginrect need to be updated.
double m_margin_top
Additional margin set by user in the plotter.
AxisRepBase * m_axis_rep
The axes model graphical representation.
numeric::array clone(numeric::array arr)
The base class for the value to the color transformation.
The AxisModelBase class maintains the Range and scaling of an axis.
The class expresses a cut on a DataSource, i.e.