#include <CompositePlotter.h>
Collaboration diagram for CompositePlotter:

For example, an XyPlotter can have one DataRep for the data points and another for the function overlaid on them. One of the DataRep objects is considered active, as it is the one that will receive commands that make a change to its characteristics.
Oded Wurman <owurman@stanford.edu>
Definition at line 53 of file CompositePlotter.h.
Public Member Functions | |
| virtual int | activePlotIndex () const |
| Returns the index of the active DataRep object. | |
| virtual ProjectorBase * | activeProjector () const |
| Returns the active projector. | |
| virtual void | addDataRep (DataRep *rep) |
| Adds the DataRep object to the composite. | |
| virtual void | addValues (const std::vector< double > &v) |
| Adds the values to the plot. | |
| void | autoScale (AxisModelBase *model, hippodraw::Axes::Type axis) |
| Auto scales the selected axis. | |
| void | autoScale (hippodraw::Axes::Type axis) |
| Sets the Range on the specified axis to include all the data. | |
| virtual void | autoScale () |
| Sets the Range on each axis that has the auto range flag set to include all the data. | |
| void | autoScaleZ () |
| Sets the range on the Z axis. | |
| HippoRectangle | calcUserRectangle () const |
| Calculates the user rectangle given the current axis ranges. | |
| bool | checkAutoScale () |
| Checks if the plotter needs to be auto-scaled and do so if needed. | |
| virtual void | checkAxisScaling () |
| Check if Axis needs to be scaled or not. | |
| CompositePlotter * | clone () |
| Makes a copy of the receiving object. | |
| CompositePlotter () | |
| The default constructor. | |
| virtual NTuple * | createNTuple () const |
| Creates a new NTuple from the selected DataRep object. | |
| virtual NTuple * | createPickTuple () |
| Creates a NTuple for a PickTable. | |
| void | drawAxisRep (AxisRepBase *rep, ViewBase *view, bool do_y, bool do_z) |
| Draws the data related to the axis representation. | |
| virtual void | drawProjValues (ViewBase *view) |
| Draws the projected values. | |
| virtual bool | errorDisplay (hippodraw::Axes::Type axis) const |
| Returns the state of error bar display on specified axis for the active plotter. | |
| void | fillCutList (std::vector< const TupleCut * > &cuts) const |
| Fills the cuts vector with the TupleCuts contained by the DataRep objects. | |
| 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 |
| virtual double | getBinWidth (hippodraw::Axes::Type axis) const |
| Returns the bin width on designated axis. | |
| virtual DataRep * | getDataRep (int index) const |
| virtual const std::string & | getInternalLabel (hippodraw::Axes::Type axis) const |
| virtual const std::string & | getLabel (hippodraw::Axes::Type) const |
| virtual int | getNumberOfEntries () const |
| Returns the number of entries in the contained DataRep. | |
| virtual int | getNumDataReps () const |
| Returns the number of DataRep objects in this plot. | |
| virtual double | getOffset (hippodraw::Axes::Type axis) const |
| virtual DataRep * | getParentDataRep () const |
| Gets the parent DataRep associated with the current/ active DataRep. | |
| virtual DataRep * | getParentDataRep (int index) const |
| Gets the parent DataRep object associated with the DataRep whose index number is index. | |
| 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 |
| virtual DataRep * | getTarget () const |
| const std::string & | getTitle () const |
| Returns the title. | |
| virtual TransformBase * | getTransform () const |
| virtual const BinToColor * | getValueRep () const |
| bool | hasAutoScaled () const |
| Returns true if the axes have already been auto-scaled. | |
| virtual bool | hasAxis (hippodraw::Axes::Type axis) const |
| virtual bool | hasNTupleBindings () const |
Returns true if the selected DataRep object has ntuple bindings, otherwise returns false. | |
| virtual bool | hasZoomY () const |
Returns true if the plotter has zoom feature on the Y Axis otherwise it returns false. | |
| virtual int | indexOf (const DataRep *rep) const |
| virtual bool | isAutoRanging (hippodraw::Axes::Type axis) const |
| virtual bool | isAxisScaled (hippodraw::Axes::Type axis) const |
| virtual bool | isTargetable () const |
| virtual void | matrixTranspose (bool yes) |
| virtual DataRep * | mouseSelectedDataRep () const |
| Returns the data rep under the mouse. | |
| virtual void | prepareToDraw () |
| Prepares the axes for drawing. | |
| double | processReturnValue (double retval, hippodraw::Axes::Type axis, bool scaled) const |
| Process the return value for margin-to-user functions. | |
| virtual void | removeDataRep (DataRep *) |
| Removes the DataRep from the composite. | |
| virtual const Color & | repColor () const |
| Returns the color used for the data points from the active plotter. | |
| virtual RepBase * | representation () const |
| Returns the representation. | |
| virtual void | reset () |
| Resets bins. | |
| virtual DataRep * | selectedDataRep () const |
| virtual int | setActivePlot (int index, bool redraw) |
| Sets the active DataRep object. | |
| virtual void | setAllAxisModels () |
| Sets the axis models for all of the components of the contained DataRep objects. | |
| virtual void | setAutoRanging (hippodraw::Axes::Type axis, bool flag) |
| Sets the auto-ranging. | |
| virtual void | setAutoRanging (bool flag) |
| Sets the auto-ranging status for all axes to flag. | |
| void | setAutoScaled (bool flag=true) |
| Sets the auto scaled flag. | |
| virtual void | setAutoTicks (hippodraw::Axes::Type axis, bool yes) |
| Sets automatic generation of ticks on specified axis. | |
| virtual void | setAxisModel (AxisModelBase *, hippodraw::Axes::Type) |
| Sets the AxisModel on the specified axis. | |
| virtual void | setBinWidth (hippodraw::Axes::Type axis, double width) |
| Sets the bin width. | |
| virtual void | setCutRangeAt (const Range &range, unsigned int index) |
| Sets the TupleCut range. | |
| void | setEnableZ (bool yes) |
| Enables the Z axis. | |
| virtual void | setErrorDisplay (hippodraw::Axes::Type axis, bool) |
| Sets the display of the error bars on or off for the active plotter. | |
| 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) |
| 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) |
| virtual void | setOffset (hippodraw::Axes::Type axis, double offset) |
| virtual void | setParentDataRep (DataRep *parent) |
| Sets the parent DataRep associated with the current/ active DataRep. | |
| virtual void | setParentDataRep (int index, DataRep *parent) |
| Sets the parent DataRep associated with the DataRep whose index number is index. | |
| virtual void | setRange (hippodraw::Axes::Type, const Range &, bool scaled, bool adjust_width) |
| virtual void | setRepColor (const Color &) |
| Sets the representation color of the active plotter. | |
| virtual void | setRepresentation (RepBase *pointrep) |
| Sets the representation. | |
| virtual void | setScaleFactor (hippodraw::Axes::Type axis, double factor) |
| virtual void | setScaling (hippodraw::Axes::Type axis, bool on=true) |
| Sets the scaling attribute of the AxisModelBase object. | |
| virtual void | setTicks (hippodraw::Axes::Type axis, const std::vector< AxisTick > &ticks) |
| void | setTitle (const std::string &title) |
| Sets the title. | |
| 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. | |
| virtual void | toUserXY (double mx, double my, bool scaled, double &ux, double &uy) const |
| virtual void | update () |
| virtual | ~CompositePlotter () |
| The destructor. | |
Protected Types | |
| typedef std::vector< DataRep * > | DataRepList_t |
| The type of container used to store the DataRep objects. | |
Protected Member Functions | |
| CompositePlotter (const CompositePlotter &plotter) | |
| The copy constructor. | |
| virtual double | getZValue (double x, double y, bool scaled=true) const |
| Get the z value at the specified point (x,y). | |
| bool | isDirty () const |
Return true if any of the contained DataRep objects returns true from its isDirty() function. | |
| void | push_back (DataRep *) |
| Adds the DataRep object to the composite if it is not already there. | |
| virtual void | setRangePrivate (hippodraw::Axes::Type axis, const Range &range, bool scaled=false, bool adjust_width=true) |
Protected Attributes | |
| int | m_datarep_index |
| The index of the active DataRep or a negative value if more than one is active. | |
| DataRepList_t | m_datareps |
| The list of the DataRep objects in the composite. | |
| bool | m_has_autoscaled |
A flag that when true indicates the plotter has already auto-scaled the axes. | |
| bool | m_has_z |
A flag which when set true indicates the plotter maintains a Z axis. | |
| TransformBase * | m_transform |
| The transform object. | |
| AxisModelBase * | m_x_axis |
| The x dimension axis model. | |
| std::string | m_x_label |
| The label of the x axis is associated with the X AxisModel object. | |
| AxisModelBase * | m_y_axis |
| The y dimension axis model. | |
| std::string | m_y_label |
| The label of the y axis is associated with the YAxisModel object. | |
| AxisModelBase * | m_z_axis |
| The z dimension axis model. | |
| std::string | m_z_label |
| The label of the z axis is associated with the Z AxisModel object. | |
|
|
The type of container used to store the DataRep objects.
Definition at line 111 of file CompositePlotter.h. |
|
|
The copy constructor. The copy constructor is not used. Copying is done via XML serialization. Definition at line 78 of file CompositePlotter.cxx. References TransformBase::clone(), AxisModelBase::clone(), m_datareps, m_has_z, m_transform, m_x_axis, m_y_axis, m_z_axis, and setEnableZ(). |
|
|
The default constructor.
Definition at line 58 of file CompositePlotter.cxx. References TransformFactory::createTransform(), TransformFactory::instance(), m_transform, m_x_axis, m_y_axis, m_z_axis, PLOTBOTTOM, and PLOTLEFT. Referenced by clone(). |
|
|
The destructor.
Definition at line 105 of file CompositePlotter.cxx. References m_datareps, m_transform, m_x_axis, m_y_axis, and m_z_axis. |
|
|
Returns the index of the active DataRep object. Returns the index of the active plotter. If returned value is -1, then all DataRep objects are active. If the returned value is -2, then none are active. Definition at line 185 of file CompositePlotter.cxx. References m_datarep_index. Referenced by getBinWidth(), getNumberOfEntries(), and getOffset(). |
|
|
Returns the active projector.
Definition at line 223 of file CompositePlotter.cxx. References DataRep::getProjector(), m_datarep_index, and m_datareps. Referenced by getLabel(). |
|
|
Adds the DataRep object to the composite. Sends the DataRep::addingTo message to the rep. Becomes an Observer of the DataRep object. Definition at line 199 of file CompositePlotter.cxx. References checkAxisScaling(), hasAxis(), m_datareps, m_x_axis, m_y_axis, m_z_axis, push_back(), setActivePlot(), DataRep::setAxisModel(), hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. |
|
|
Adds the values to the plot. This method is provided as a convenience for the situation that only one DataRep exists and it responds to DataRep::addValues. It calls this function on the first DataRep object. Definition at line 978 of file CompositePlotter.cxx. References DataRep::addValues(), and getDataRep(). |
|
||||||||||||
|
Auto scales the selected axis.
Definition at line 332 of file CompositePlotter.cxx. References BinaryTransform::adjustValues(), DataRep::hasZeroRows(), AxisModelBase::isAutoRanging(), BinaryTransform::limitX(), BinaryTransform::limitY(), m_datareps, m_transform, DataRep::preferredRange(), DataRep::setRange(), AxisModelBase::setUnionRange(), hippodraw::Axes::X, and hippodraw::Axes::Y. |
|
|
Sets the Range on the specified axis to include all the data.
Definition at line 369 of file CompositePlotter.cxx. References autoScale(), autoScaleZ(), m_x_axis, m_y_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. |
|
|
Sets the Range on each axis that has the auto range flag set to include all the data. This function scrolls through all the points plotters, asking for their preferred ranges. It then sets the range to be the union of all of those. Definition at line 389 of file CompositePlotter.cxx. References autoScaleZ(), AxisModelBase::isAutoRanging(), m_x_axis, m_y_axis, m_z_axis, setAutoScaled(), hippodraw::Axes::X, and hippodraw::Axes::Y. Referenced by autoScale(). |
|
|
Sets the range on the Z axis.
Definition at line 408 of file CompositePlotter.cxx. References getRange(), hasAxis(), DataRep::hasZeroRows(), BinaryTransform::limitZ(), m_datareps, m_transform, m_z_axis, Range::pos(), DataRep::preferredRange(), AxisModelBase::setEmpty(), Range::setPos(), DataRep::setRange(), AxisModelBase::setUnionRange(), and hippodraw::Axes::Z. Referenced by autoScale(). |
|
|
Calculates the user rectangle given the current axis ranges.
Definition at line 1441 of file CompositePlotter.cxx. References getRange(), Range::high(), Range::low(), m_has_z, m_transform, m_x_axis, m_y_axis, m_z_axis, HippoRectangle::setDepth(), and HippoRectangle::setZ(). |
|
|
Checks if the plotter needs to be auto-scaled and do so if needed.
Returns Definition at line 1383 of file CompositePlotter.cxx. References hasAutoScaled(), and isDirty(). |
|
|
Check if Axis needs to be scaled or not.
Definition at line 1343 of file CompositePlotter.cxx. References getBinWidth(), getNumDataReps(), getProjector(), setScaleFactor(), setScaling(), ProjectorBase::wantsScaleFactor(), hippodraw::Axes::X, and hippodraw::Axes::Y. Referenced by addDataRep(), removeDataRep(), and setActivePlot(). |
|
|
Makes a copy of the receiving object.
Definition at line 121 of file CompositePlotter.cxx. References CompositePlotter(). Referenced by setTransform(). |
|
|
Creates a new NTuple from the selected DataRep object. Creates and return a NTuple object from the selected DataRep if one is selected or only one exists. Otherwise returns a null pointer. Definition at line 986 of file CompositePlotter.cxx. References getDataRep(), and selectedDataRep(). |
|
|
Creates a NTuple for a PickTable. Creates an NTuple appropriate for a PickTable for this plotter. For plotters derived from this class the first three column labels and subsequent labels are as follows
Definition at line 822 of file CompositePlotter.cxx. References getLabel(), hasAxis(), isAxisScaled(), num_util::size(), hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. |
|
||||||||||||||||||||
|
Draws the data related to the axis representation.
Draw the data related to the axis representation. If do_y is Definition at line 1464 of file CompositePlotter.cxx. References AxisRepBase::drawAllXTicks(), AxisRepBase::drawAllYTicks(), AxisRepBase::drawAllZTicks(), AxisRepBase::drawAxesLines(), AxisRepBase::drawColorScale(), AxisRepBase::drawGridLines(), AxisRepBase::drawXLabels(), AxisRepBase::drawYLabels(), AxisRepBase::drawZLabels(), getLabel(), getRange(), getValueRep(), m_has_z, m_transform, m_x_axis, m_x_label, m_y_axis, m_y_label, m_z_axis, m_z_label, BinaryTransform::needsGrid(), BinaryTransform::needsXTicks(), BinaryTransform::needsYTicks(), AxisRepBase::setFontSize(), hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. |
|
|
Draws the projected values.
This implementation invokes Definition at line 450 of file CompositePlotter.cxx. References DataRep::drawProjectedValues(), m_datarep_index, m_datareps, m_transform, and num_util::size(). |
|
|
Returns the state of error bar display on specified axis for the active plotter.
Definition at line 575 of file CompositePlotter.cxx. References DataRep::isErrorDisplayed(), and m_datareps. |
|
|
Fills the cuts vector with the TupleCuts contained by the DataRep objects.
Definition at line 1526 of file CompositePlotter.cxx. References DataRep::getCuts(), m_datareps, and num_util::size(). |
|
||||||||||||||||
|
Fills the picked data point. Fills the vector picked with the picked data set. The vector will be cleared before insertion of coordinates. The resulting size of the vector depends on the type of DataRep in use and the contents is as follows.
Definition at line 872 of file CompositePlotter.cxx. References getZValue(), hasAxis(), isAxisScaled(), BinaryTransform::isPeriodic(), m_transform, PeriodicBinaryTransform::moduloAddX(), PeriodicBinaryTransform::moduloAddY(), processReturnValue(), hippodraw::Axes::X, PeriodicBinaryTransform::xOffset(), hippodraw::Axes::Y, PeriodicBinaryTransform::yOffset(), and hippodraw::Axes::Z. |
|
|
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. Definition at line 1334 of file CompositePlotter.cxx. References TransformBase::aspectRatio(), and m_transform. |
|
|
Definition at line 1113 of file CompositePlotter.cxx. References m_x_axis, m_y_axis, m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. Referenced by setAutoTicks(), and setTicks(). |
|
|
Returns the bin width on designated axis. . Returns the actual bin width if axis is binned and only one DataRep is in the display. If multiple DataRep objects are in the display, then returns the bin width if all have the same width, or if only one is selected, otherwise returns -1. If axis is not binned, returns 0. This base class implementation returns 0.0 and should be overridden by derived classes. Definition at line 639 of file CompositePlotter.cxx. References std::abs(), activePlotIndex(), ProjectorBase::getBinWidth(), getProjector(), ProjectorBase::isAxisBinned(), m_datareps, hippodraw::Axes::X, and hippodraw::Axes::Y. Referenced by checkAxisScaling(). |
|
|
Definition at line 254 of file CompositePlotter.cxx. References getNumDataReps(), and m_datareps. Referenced by addValues(), createNTuple(), getNumberOfEntries(), getParentDataRep(), getZValue(), processReturnValue(), and setParentDataRep(). |
|
|
Definition at line 1318 of file CompositePlotter.cxx. References m_x_label, m_y_label, m_z_label, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. |
|
|
Definition at line 1297 of file CompositePlotter.cxx. References activeProjector(), ProjectorBase::getXLabel(), ProjectorBase::getYLabel(), ProjectorBase::getZLabel(), m_x_label, m_y_label, m_z_label, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. Referenced by createPickTuple(), and drawAxisRep(). |
|
|
Returns the number of entries in the contained DataRep. If multiple DataRep objects are active, returns 0, otherwise returns the number of entries of the elected DataRep. Definition at line 624 of file CompositePlotter.cxx. References activePlotIndex(), and getDataRep(). |
|
|
Returns the number of DataRep objects in this plot.
Definition at line 246 of file CompositePlotter.cxx. References m_datareps. Referenced by checkAxisScaling(), getDataRep(), getProjector(), and removeDataRep(). |
|
|
Definition at line 689 of file CompositePlotter.cxx. References activePlotIndex(), ProjectorBase::getOffset(), getProjector(), ProjectorBase::isAxisBinned(), m_datareps, hippodraw::Axes::X, and hippodraw::Axes::Y. |
|
|
Gets the parent DataRep associated with the current/ active DataRep.
Definition at line 273 of file CompositePlotter.cxx. References getDataRep(), and m_datarep_index. Referenced by getParentDataRep(). |
|
|
Gets the parent DataRep object associated with the DataRep whose index number is index.
Definition at line 262 of file CompositePlotter.cxx. References getDataRep(), and getParentDataRep(). |
|
|
Returns the smallest positive number from the data.
Definition at line 499 of file CompositePlotter.cxx. References m_datareps, and std::min(). |
|
|
Returns the projector at index i.
Definition at line 237 of file CompositePlotter.cxx. References getNumDataReps(), DataRep::getProjector(), and m_datareps. Referenced by checkAxisScaling(), getBinWidth(), and getOffset(). |
|
||||||||||||
|
Definition at line 1237 of file CompositePlotter.cxx. References AxisModelBase::getRange(), m_x_axis, m_y_axis, m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. Referenced by autoScaleZ(), calcUserRectangle(), and drawAxisRep(). |
|
|
Definition at line 1055 of file CompositePlotter.cxx. References m_datareps, and num_util::size(). |
|
|
Returns the title. Returns the title of the active DataRep object. If multiple DataRep objects are active, return the title of the first one. |
|
|
Definition at line 781 of file CompositePlotter.cxx. References m_transform. Referenced by prepareToDraw(). |
|
|
Definition at line 605 of file CompositePlotter.cxx. References representation(). Referenced by drawAxisRep(). |
|
||||||||||||||||
|
Get the z value at the specified point (x,y).
Returns the z value of the point at x and y. If scaled is Definition at line 854 of file CompositePlotter.cxx. References getDataRep(), DataRep::getProjector(), ProjectorBase::getZValue(), processReturnValue(), selectedDataRep(), and hippodraw::Axes::Z. Referenced by fillPickedPoint(). |
|
|
Returns true if the axes have already been auto-scaled.
Definition at line 1376 of file CompositePlotter.cxx. References m_has_autoscaled. Referenced by checkAutoScale(). |
|
|
Definition at line 1090 of file CompositePlotter.cxx. References m_x_axis, m_y_axis, m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. Referenced by addDataRep(), autoScaleZ(), createPickTuple(), fillPickedPoint(), setAutoRanging(), and setAxisModel(). |
|
|
Returns
Definition at line 134 of file CompositePlotter.cxx. References DataRep::hasNTupleBindings(), and selectedDataRep(). |
|