#include <TextPlotter.h>
Inheritance diagram for TextPlotter:


Plotter class that draws text.
It is the glue between a derived class of ProjectorBase and a derived class of TextRep. When it is time to plot, this class calls the TextRep with a reference to the projector and a reference to the View as arguments. The derived class from TextRep asks for explicit values from the projector.
Definition at line 36 of file TextPlotter.h.
Public Types | |
| typedef void(hippodraw::Observer::* | Action )(const Observable *) |
| The member function of the Observer that is called. | |
| typedef std::list< hippodraw::Observer * > | ObserverList_t |
| The type of STL container to maintain list of Observer objects. | |
Public Member Functions | |
| virtual int | activePlotIndex () const |
| Returns the index of the active plotter. | |
| virtual ProjectorBase * | activeProjector () const |
| Returns the active projector. | |
| virtual void | addDataRep (DataRep *rep) |
| Adds a DataRep object to the plotter. | |
| void | addObserver (hippodraw::Observer *) |
| Adds an Observer to the Observer list. | |
| virtual void | addValues (const std::vector< double > &v) |
| Adds data values to the plot. | |
| virtual void | autoScale () |
| Auto scales the Range of the axes using preferred Range from the points plotters. | |
| virtual void | checkAxisScaling () |
| Check if Axis needs to be scaled or not. | |
| virtual PlotterBase * | clone () |
| The clone function returns an object of its own kind which is a copy of this object at this moment. | |
| virtual NTuple * | createNTuple () const |
| virtual NTuple * | createPickTuple () |
| Creates a NTuple for a PickTable. | |
| int | currentView () const |
| Return the current view index. | |
| void | deleteView (int index) |
| Delete a view by index. | |
| virtual void | drawCrossHairs (ViewBase *view) |
| Draws cross-hairs. | |
| virtual void | drawIn (ViewBase *view) |
Starts the drawing in view view. | |
| virtual bool | errorDisplay (hippodraw::Axes::Type axis) const |
| virtual void | fillCutList (std::vector< const TupleCut * > &cuts) const |
| Fills the cuts vector with the TupleCut objects contained by the DataRep objects, if any. | |
| virtual void | fillPickedPoint (double mx, double my, std::vector< double > &picked) const |
| Fills the picked data point. | |
| virtual double | getAspectRatio () const |
| Returns the aspect ratio. | |
| virtual AxisModelBase * | getAxisModel (hippodraw::Axes::Type axis) const |
| Returns the AxisModelBase derived class for the specified axis. | |
| double | getBinWidth (const std::string &axis) const |
| Returns the bin width. | |
| virtual double | getBinWidth (hippodraw::Axes::Type axis) const |
| Returns the bin width. | |
| virtual bool | getCurrentRangeSaved () |
| Returns current_range_saved member t. | |
| virtual DataRep * | getDataRep (int index) const |
| Returns the specified DataRep or null pointer if it doesn't exits. | |
| virtual double | getHighRangeOnX () const |
| Returns the high end of the X axis range. | |
| virtual const std::string & | getInternalLabel (hippodraw::Axes::Type axis) const |
| Returns the internal label. | |
| virtual const std::string & | getInternalTitle () const |
| Returns the internal title. | |
| virtual const std::string & | getLabel (hippodraw::Axes::Type) const |
| Returns the label for the specified axis. | |
| virtual double | getLowRangeOnX () const |
| Returns the low end of the X axis range. | |
| HippoRectangle | getMarginRect () const |
| Returns the margin space where drawing takes place. | |
| virtual int | getNumberOfEntries () const |
| Returns the number of entries in the contained DataRep. | |
| virtual int | getNumDataReps () const |
| Returns the number of DataRep objects contained in the plot. | |
| int | getNumOfEntries () const |
| Returns the number of entries in the contained DataRep. | |
| const ObserverList_t & | getObservers () const |
| Returns the list of observers. | |
| double | getOffset (const std::string &axis) const |
| Returns the offset on designated axis, similarly to getBinWidth. | |
| virtual double | getOffset (hippodraw::Axes::Type axis) const |
| Returns the offset on designated axis, similarly to getBinWidth. | |
| const DataRep * | getParentDataRep () const |
| Returns the target DataRep of its own TextDataRep object. | |
| virtual int | getParentDataRepIndex () const |
| Returns the index of the parent DataRep. | |
| virtual PlotterBase * | getParentPlotter () const |
| Returns the parent plotter. | |
| virtual double | getPosRange (hippodraw::Axes::Type axis) const |
| Returns the smallest positive number from the data. | |
| virtual ProjectorBase * | getProjector (int i) const |
| Returns the projector at index i. | |
| virtual const Range & | getRange (hippodraw::Axes::Type axis, bool scaled) const |
| Returns the range on the specified axis. | |
| virtual DataRep * | getTarget () const |
| Returns the target DataRep contained by the plotter. | |
| const std::string & | getTitle () const |
| Gets the title to be displayed. | |
| virtual TransformBase * | getTransform () const |
| Returns the transform object used by the plotter. | |
| virtual TransformBase * | getTransform () |
| const HippoRectangle & | getUserRect () const |
| Returns the data space rectangle. | |
| virtual const BinToColor * | getValueRep () const |
| Returns the value to color representation. | |
| virtual double | getZValue (double x, double y, bool scaled=true) const |
| Get the z value at the specified point (x,y). | |
| virtual bool | hasAxis (hippodraw::Axes::Type axis) const |
Returns true if the plotter has an axis of specified type. | |
| bool | hasNTupleBindings () const |
Returns false since TextPlotter does not have ntuple bindings. | |
| virtual bool | hasZoomY () const |
Returns true if the plotter has zoom feature on the Y axis, otherwise returns false. | |
| virtual int | indexOf (const DataRep *rep) const |
| Returns the index of the DataRep. | |
| virtual bool | isAutoRanging (hippodraw::Axes::Type axis) const |
Returns true if auto-ranging is enabled, otherwise returns false. | |
| virtual bool | isTargetable () const |
Returns true if receiving object is target-able. | |
| virtual void | marginToUserXY (double mx, double my, bool scaled, double &ux, double &uy) const |
| Converts from the drawing space to the data space. | |
| virtual void | matrixTranspose (bool yes) |
| Transpose the X and Y axis of matrix representation. | |
| const std::string & | name () const |
| Returns the name of the plotter. | |
| int | nextView (bool stepForward=true) |
| Cycle through each set of plot ranges, thereby changing the view with each call. | |
| virtual void | notifyObservers () const |
| Notifies Observer objects of a change. | |
| int | numViews () const |
| Return the number of stored views. | |
| virtual int | plotterId () const |
| The unique ID number of this plotter. | |
| virtual void | removeDataRep (DataRep *) |
| Removes the DataRep from the plot. | |
| void | removeObserver (hippodraw::Observer *) |
| Removes an Observer from the Observer list. | |
| const Color & | repColor () const |
| Returns the color used for the representation. | |
| virtual RepBase * | representation () const |
| Returns the representation used by the plotter. | |
| virtual void | reset () |
| Resets the bins. | |
| int | saveView (const std::vector< double > &range_values) |
| Save the current set of plot ranges which define a "view" for this plot. | |
| int | saveViewAtIndex (const std::vector< double > &range_values, unsigned int i) |
| Save the current set of plot ranges which define a "view" for this plot.at the position i. | |
| virtual DataRep * | selectedDataRep () const |
| Returns the selected DataRep. | |
| virtual void | setActivePlot (int index, bool redraw) |
| Sets the active plot. | |
| void | setAspectRatio (double ratio) |
| Sets the aspect ratio. | |
| virtual void | setAutoRanging (bool flag) |
| Sets the auto-ranging status for all axes to flag. | |
| virtual void | setAutoRanging (hippodraw::Axes::Type axis, bool flag) |
| Sets the auto-ranging. | |
| virtual void | setAutoRanging (const std::string &axis, bool flag) |
| Sets the auto-ranging. | |
| virtual void | setAutoTicks (const std::string &, bool on) |
| Sets automatic ticks on or off. | |
| virtual void | setAutoTicks (hippodraw::Axes::Type axis, bool yes) |
| Sets automatic generation of axis ticks. | |
| virtual void | setAutoTicksOnX (bool yes) |
| Sets automatic generation of axis ticks on X axis. | |
| void | setAxisModel (AxisModelBase *, hippodraw::Axes::Type) |
| Sets the AxisModel on the specified axis. | |
| virtual void | setBinWidth (const std::string &axis, double width) |
| Sets the bin width. | |
| virtual void | setBinWidth (hippodraw::Axes::Type axis, double width) |
| Sets the bin width. | |
| void | setCrossX (double val) |
| Set the crossX value. | |
| void | setCrossY (double val) |
| Set the crossY value. | |
| virtual void | setCurrentRangeSaved (bool flag) |
| Sets current_range_saved member to flag. | |
| virtual void | setCutRangeAt (const Range &range, unsigned int i) |
| Sets the Range of a TupleCut object. | |
| virtual void | setEnableZ (bool yes=true) |
| Enables the Z axis, if plotter has one. | |
| virtual void | setErrorDisplay (hippodraw::Axes::Type axis, bool) |
| virtual void | setHighRange (hippodraw::Axes::Type axis, int parm, bool dragging) |
| Sets the high end of the Range of data displayed. | |
| virtual void | setLabel (hippodraw::Axes::Type, const std::string &value) |
| Sets the label of the specified axis to value. | |
| virtual void | setLabel (const std::string &axis, const std::string &label) |
| Sets the label of specified axis to label. | |
| virtual void | setLowRange (hippodraw::Axes::Type axis, int parm, bool dragging) |
| Sets the low end of the Range of data displayed. | |
| virtual void | setNumberOfBins (hippodraw::Axes::Type axis, unsigned int number) |
| Sets the number of bins. | |
| virtual void | setNumberOfBins (const std::string &axis, unsigned int number) |
| Sets the number of bins. | |
| virtual void | setOffset (const std::string &axis, double offset) |
| Sets the bin offset. | |
| virtual void | setOffset (hippodraw::Axes::Type axis, double offset) |
| Sets the offset. | |
| virtual void | setOffsets (double xoffset, double yoffset) |
| Sets the offsets on the x and y axis. | |
| void | setParentDataRep (DataRep *) |
| Sets the target DataRep of its own TextDataRep object. | |
| virtual void | setParentDataRepIndex (int index) |
| Sets the index of the parent DataRep. | |
| virtual void | setParentPlotter (PlotterBase *plotter) |
| Sets the parent plotter. | |
| void | setRange (const std::string &axis, double low, double high) |
| Sets the range on the specified axis. | |
| virtual void | setRange (hippodraw::Axes::Type axis, const Range &range, bool scaled=false, bool adjust_width=true) |
| Sets the range on the specified axis. | |
| void | setRepColor (const Color &) |
| Sets the representation's color. | |
| virtual void | setRepresentation (RepBase *) |
Sets the PointRep. | |
| virtual void | setTicks (const std::string &axis, const std::vector< double > &values, const std::vector< std::string > &labels) |
| Sets the ticks on specified axis. | |
| virtual void | setTicks (hippodraw::Axes::Type axis, const std::vector< AxisTick > &ticks) |
| Sets the ticks for the specified axis. | |
| virtual void | setTicksOnX (const std::vector< double > &values, const std::vector< std::string > &labels) |
| Sets the ticks for the X axis. | |
| void | setTitle (const std::string &title) |
| Sets the title to be displayed. | |
| virtual void | setTransform (TransformBase *) |
| Sets the transform object. | |
| virtual void | setValueRep (BinToColor *rep) |
| Sets the object that will do the value to color transform, if any. | |
| void | setView (int index) |
| Set the view by index. | |
| TextPlotter (const TextPlotter &plotter) | |
| The copy constructor. | |
| TextPlotter () | |
| The default constructor. | |
| void | toggleActivePlot () |
| Toggles the active DataRep, if 2 or more are contained by the plotter. | |
| virtual void | update (const Observable *) |
| Sends notification to it's Observer ViewBase object that redrawing is needed. | |
| virtual void | update () |
| Updates the plotter. | |
| virtual float | userToInvertedMarginY (double y) const |
| Does nothing. | |
| virtual float | userToMarginColor (double c) const |
| Converts the user Z coordinate into the margin color (X) coordinate. | |
| virtual float | userToMarginX (double x) const |
| Does nothing. | |
| virtual float | userToMarginY (double y) const |
| Does nothing. | |
| virtual bool | wantsPixmap () const |
| Informs caller if the plotter prefers to use a pixmap or not. | |
| virtual void | willDelete (const Observable *observable) |
Notifies this Observer object that one of its Observable objects is about to be deleted. | |
| ~TextPlotter () | |
| The destructor. | |
Protected Member Functions | |
| bool | hasAutoScaled () const |
| Returns true if the axes have already been auto-scaled. | |
| void | notifyObservers (Action action) const |
| An internal method to iterate over all observers and to send the message action. | |
Protected Attributes | |
| bool | current_range_saved |
| Returns true if the current range on the axes have been saved. | |
| double | m_aspect_ratio |
| The aspect ratio. | |
| double | m_crossX |
| The x position of the cross hair. | |
| double | m_crossY |
| The y position of the cross hair. | |
| int | m_currentView |
| Index of the current view. | |
| HippoRectangle | m_margin_rect |
| The rectangle area in which the projected points are plotted. | |
| std::string | m_name |
| The name of the type of plotter. | |
| int | m_parent_datarep_index |
| Parent DataRep index. | |
| PlotterBase * | m_parent_plotter |
| Parent plotter. | |
| int | m_plotterId |
| A unique plotter id. | |
| std::string | m_title |
| The main label; the title of the plot. | |
| HippoRectangle | m_user_rect |
| The abstract data space. | |
| std::vector< std::vector< double > > | m_views |
| A vector of x and y ranges to be used as a circular buffer allowing one to cycle through the saved plot "views". | |
Static Protected Attributes | |
| static int | s_plotters |
| Reference count for creating plotter ids. | |
Private Attributes | |
| TextDataRep * | m_datarep |
| The DataRep object being used. | |
|
|
The member function of the Observer that is called.
Definition at line 83 of file Observable.h. |
|
|
The type of STL container to maintain list of Observer objects.
Definition at line 46 of file Observable.h. |
|
|
The default constructor.
Definition at line 27 of file TextPlotter.cxx. References m_datarep, and PlotterBase::m_title. Referenced by clone(). |
|
|
The copy constructor.
Definition at line 34 of file TextPlotter.cxx. |
|
|
The destructor.
Definition at line 39 of file TextPlotter.cxx. References m_datarep. |
|
|
Returns the index of the active plotter. Returns 0 if only one plot is in the display, or only one plot is supported. Reimplemented in XyPlotter. Definition at line 175 of file PlotterBase.cxx. Referenced by DisplayController::activeDataRepIndex(), CutController::addCut(), FunctionController::addFunction(), Inspector::colorSelect_clicked(), Inspector::functionsRemoveButton_clicked(), QtDisplay::getDataRep(), FunctionController::getFunctionRep(), PlotterBase::getTitle(), DisplayController::isAxisBinned(), DisplayController::setBinWidth(), QtDisplay::setContourLevels(), DisplayController::setOffset(), PlotterBase::setTitle(), and PlotterBase::toggleActivePlot(). |
|
|
Returns the active projector. That is, the one that should receive commands to it. Reimplemented in XyPlotter. Definition at line 129 of file PlotterBase.cxx. Referenced by DisplayController::axisBindings(), DisplayController::isAxisBinned(), and QtDisplay::numberOfEntries(). |
|
|
Adds a DataRep object to the plotter. The implementation in this base class does nothing. This function will be overridden by plotters that implement having DataRep objects. Reimplemented from PlotterBase. Definition at line 50 of file TextPlotter.cxx. References m_datarep. Referenced by DisplayController::createTextPlotter(). |
|
|
Adds an Observer to the Observer list.
Definition at line 49 of file Observable.cxx. References Observable::m_list. Referenced by CutPlotter::addCutTarget(), XyPlotter::addDataRep(), FunctionRep::FunctionRep(), BinningProjector::normalizeTo(), DataRepController::setAxisBindings(), DisplayController::setNTuple(), CutPlotter::setNTuple(), and setParentDataRep(). |
|
|
Adds data values to the plot. This method is provided as a convenience when the plotter contains a single DataRep that responds to addValues. For example a static histogram would respond to it. The implementation here does nothing, so needs to be overridden by a derived class. Reimplemented in XyPlotter. Definition at line 508 of file PlotterBase.cxx. |
|
|
Auto scales the Range of the axes using preferred Range from the points plotters. Sets the auto scaled flag to true. The implementation in the base class does nothing. Reimplemented in XyPlotter. Definition at line 303 of file PlotterBase.cxx. Referenced by PlotterBase::setAutoRanging(). |
|
|
Check if Axis needs to be scaled or not.
Reimplemented in XyPlotter. Definition at line 472 of file PlotterBase.cxx. Referenced by DisplayController::addDataRep(), and PlotterBase::toggleActivePlot(). |
|
|
The clone function returns an object of its own kind which is a copy of this object at this moment.
Implements PlotterBase. Definition at line 44 of file TextPlotter.cxx. References TextPlotter(). |
|
|
Implements PlotterBase. Definition at line 169 of file TextPlotter.cxx. |
|
|
Creates a NTuple for a PickTable. The implementation in this base class returns a null pointer. Derived classes may override this member function to create a PickTable appropriate for their class. Reimplemented in XyPlotter. Definition at line 536 of file PlotterBase.cxx. |
|
|
Return the current view index.
Definition at line 829 of file PlotterBase.cxx. References PlotterBase::m_currentView. Referenced by QtDisplay::currentView(). |
|
|
Delete a view by index.
Definition at line 812 of file PlotterBase.cxx. References PlotterBase::m_views, and PlotterBase::setView(). Referenced by QtDisplay::deleteView(). |
|
|
Draws cross-hairs. Draws cross-hairs at the mouse hot spot, if applicable. The implementation in this base class does nothing. Derived classes may override this function. Reimplemented in XyPlotter. Definition at line 501 of file PlotterBase.cxx. |
|
|
Starts the drawing in view This is the initial method that is called. Implements PlotterBase. Definition at line 70 of file TextPlotter.cxx. References TextDataRep::drawProjectedValues(), and m_datarep. |
|
|
Implements PlotterBase. Definition at line 100 of file TextPlotter.cxx. |
|
|
Fills the cuts vector with the TupleCut objects contained by the DataRep objects, if any. This base class implementation does nothing. Reimplemented in XyPlotter. Definition at line 836 of file PlotterBase.cxx. |
|
||||||||||||||||
|
Fills the picked data point. Fills the vector picked with the picked data set. This method should be overridden by derived classes that support picked data. This base class implementation does nothing. Reimplemented in XyPlotter. Definition at line 543 of file PlotterBase.cxx. |
|
|
Returns the aspect ratio.
The aspect ratio is the ratio of the width to the height that should be used when drawing the plotter. If the aspect ratio has been set to a non-zero value, the return that ratio. Otherwise, return the aspect ratio preferred by the contained TransformBase object. The implementation in this base class always returns Reimplemented in XyPlotter. Definition at line 515 of file PlotterBase.cxx. |
|
|
Returns the AxisModelBase derived class for the specified axis. The implementation in this base class returns a null pointer. Reimplemented in XyPlotter. Definition at line 110 of file PlotterBase.cxx. Referenced by PlotterBaseXML::createAxisModel(), PlotterBaseXML::createAxisModels(), and DisplayController::setAxisModel(). |
|
|
Returns the bin width. The implementation in the base class converts the string to an hippodraw::Axes::Type and calls the virtual function getBinWidth ( hippodraw::Axes::Type );. It is declared as a convenience to the developer since bin width is a common attribute. Definition at line 428 of file PlotterBase.cxx. References hippodraw::Axes::convert(), PlotterBase::getBinWidth(), and num_util::type(). |
|
|
Returns the bin width. The implementation in the base class does nothing. It is declared as a convenience to the developer since bin width is a common attribute. Reimplemented in XyPlotter. Definition at line 437 of file PlotterBase.cxx. Referenced by QtDisplay::getBinWidth(), PlotterBase::getBinWidth(), Inspector::setBinWidth(), and Inspector::updateAxisTab(). |
|
|
Returns current_range_saved member t.
Definition at line 857 of file PlotterBase.cxx. References PlotterBase::current_range_saved. |
|
|
Returns the specified DataRep or null pointer if it doesn't exits.
Reimplemented from PlotterBase. Definition at line 64 of file TextPlotter.cxx. References m_datarep. |
|
|
Returns the high end of the X axis range.
Definition at line 654 of file PlotterBase.cxx. References PlotterBase::getRange(), Range::high(), and hippodraw::Axes::X. |
|
|
Returns the internal label. The internal label is either the label set by a client, or one of %x, %y, or %z for the corresponding axis. The later ones mean that the object should return the corresponding label of the DataSource. The implementation in this base class returns an empty string. Reimplemented in XyPlotter. Definition at line 296 of file PlotterBase.cxx. Referenced by PlotterBaseXML::createElement(). |
|
|
Returns the internal title. The internal title is either the title set by a client, or %t. The later ones mean that the object should return the corresponding title of the DataSource, if bound to one. Definition at line 289 of file PlotterBase.cxx. References PlotterBase::m_title. Referenced by PlotterBaseXML::createElement(). |
|
|
Returns the label for the specified axis. The implementation in this base class returns an empty string. Reimplemented in XyPlotter. Definition at line 280 of file PlotterBase.cxx. Referenced by PlotTable::initialize(). |
|
|
Returns the low end of the X axis range.
Definition at line 645 of file PlotterBase.cxx. References PlotterBase::getRange(), Range::low(), and hippodraw::Axes::X. |
|
|
Returns the margin space where drawing takes place.
Definition at line 405 of file PlotterBase.cxx. References PlotterBase::m_margin_rect. Referenced by ViewBase::getMarginRect(), QtViewImp::getMarginRect(), OpenGLView::toViewY(), and EpsView::toViewY(). |
|
|
Returns the number of entries in the contained DataRep.
Reimplemented in XyPlotter. Definition at line 460 of file PlotterBase.cxx. Referenced by PlotterBase::getNumOfEntries(). |
|
|
Returns the number of DataRep objects contained in the plot.
Implementation in this base return Reimplemented from PlotterBase. Definition at line 59 of file TextPlotter.cxx. |
|
|
Returns the number of entries in the contained DataRep.
Definition at line 467 of file PlotterBase.cxx. References PlotterBase::getNumberOfEntries(). |
|
|
Returns the list of observers.
Definition at line 57 of file Observable.cxx. References Observable::m_list. |
|
|
Returns the offset on designated axis, similarly to getBinWidth.
Definition at line 451 of file PlotterBase.cxx. References hippodraw::Axes::convert(), PlotterBase::getOffset(), and num_util::type(). |
|
|
Returns the offset on designated axis, similarly to getBinWidth.
Reimplemented in XyPlotter. Definition at line 444 of file PlotterBase.cxx. Referenced by PlotterBase::getOffset(), Inspector::setOffset(), and Inspector::updateAxisTab(). |
|
|
Returns the target DataRep of its own TextDataRep object. The target DataRep is the one used for the source of the textual data. Definition at line 142 of file TextPlotter.cxx. References m_datarep. Referenced by DisplayController::addTextViewToList(), PlotterBaseXML::createTextChildren(), DisplayController::removeTextObservers(), and willDelete(). |
|
|
Returns the index of the parent DataRep. Returns -1 if there exist none Definition at line 554 of file PlotterBase.cxx. References PlotterBase::m_parent_datarep_index. Referenced by PlotterBaseXML::createElement(). |
|
|
Returns the parent plotter. Returns 0 if there exist none Definition at line 564 of file PlotterBase.cxx. References PlotterBase::m_parent_plotter. Referenced by PlotterBaseXML::createElement(), and FunctionController::refreshEllipsoidDisplay(). |
|
|
Returns the smallest positive number from the data.
Reimplemented in XyPlotter. Definition at line 479 of file PlotterBase.cxx. Referenced by DisplayController::setAxisModel(). |
|
|
Returns the projector at index i.
Reimplemented in XyPlotter. Definition at line 134 of file PlotterBase.cxx. Referenced by DisplayController::axisBindings(), DisplayController::setBinWidth(), and DisplayController::setOffset(). |
|