LineFunctionRep Class Reference

#include <LineFunctionRep.h>

Inheritance diagram for LineFunctionRep:

Inheritance graph
LinePointRepPointRepBaseRepBase
[legend]
Collaboration diagram for LineFunctionRep:

Collaboration graph
LinePointRepPointRepBaseRepBaseErrorBarRepColorRangeSizePointRect
[legend]
List of all members.

Detailed Description

A LinePointRep class that draws a function by trying to make a smooth line after the transform to the view coordinate system.

variety of styles available are enumerated in the enum hippodraw::Line::Style.

Author:
Paul F. Kunz <paul_kunz@slac.stanford.edu>

Definition at line 30 of file LineFunctionRep.h.

Public Member Functions

virtual RepBaseclone ()
 The clone function returns an object of its own kind which is a copy of this object at this moment.
virtual const Colorcolor () const
 Returns the representation's color.
virtual void displayError (ViewBase &view)
 Display an error message.
virtual void drawProjectedValues (const DataSource *ntuple, TransformBase *transform, ViewBase *previews)
 Draws the projected values.
void drawProjectedValues (const Range &range, const FunctionBase *function, TransformBase *transform, ViewBase *view)
 Draw the projected values.
virtual const ColorgetColor () const
 Get the color of the representation.
virtual unsigned int getStyle () const
 Returns the style of the line drawing.
const std::string & getText () const
 Gets the text.
virtual const BinToColorgetValueTransform () const
 Returns the value transform.
virtual bool isSelected () const
 Returns true if representation is in selected state, otherwise returns false.
 LineFunctionRep (const LineFunctionRep &point_rep)
 The copy constructor.
 LineFunctionRep (float size)
 Constructor that takes size as argument.
 LineFunctionRep ()
 The default constructor.
const std::string & name () const
 Returns the name of the representation.
virtual void setColor (const Color &)
 Sets the color of the representation.
virtual void setErrorOn (hippodraw::Axes::Type axis, bool yes=true)
 Sets the error representation on specified axis, if any, to yes.
virtual void setHighLighted (bool yes)
 Sets the highlighted state of the point representation.
virtual void setSelected (bool yes)
 Sets the selection state of the representation.
virtual void setSize (float value)
 Sets the size of the representation.
virtual void setStyle (unsigned int style)
 Sets the style of the line drawing.
void setText (const std::string &text)
 Sets the text.
virtual void setValueTransform (BinToColor *)
 Sets the value transform.
float size () const
 Returns the size of the representation.
virtual bool uses (hippodraw::Symbol::Type) const
 Returns true if receiving object uses a hippodraw::Symbol::Type as a property, otherwise returns false.
virtual bool uses (Color::Value) const
 Returns true if receiving object uses a Color::Value as a property, otherwise returns false.
virtual bool uses (hippodraw::Line::Style) const
 Returns true as this class uses hippodraw::Line::Style.
virtual bool xError () const
 Returns true if the point representation displays error on the X axis.
virtual bool yError () const
 Returns true if the point representation displays error on the Y axis.
virtual ~LineFunctionRep ()
 The destructor.

Protected Member Functions

void drawValues (ViewBase *view)
 Draws the projected values from protected transformed copy to view.

Protected Attributes

Color m_color
 The color of the representation.
bool m_desel
 A flag to indicate the representation is de-selected.
ErrorBarRepm_error_rep
 The error bar representation.
bool m_highlite
 Sets the state of highlighting.
hippodraw::Line::Style m_line_style
 The style currently used.
std::string m_name
 The name of the representation.
float m_size
 The size of the representation.
std::string m_text
 The text to be displayed before the statistics.
std::vector< double > m_x
 A cache of the points along the X axis to be drawn.
std::vector< double > m_y
 A cache of the points along the Y axis to be drawn.

Static Protected Attributes

static const Color s_desel_color
 The color of the representation when it is de-selected.

Private Member Functions

void smoothCurve (const Range &range, TransformBase *transform, const FunctionBase *function)
 Smooths the curve.


Constructor & Destructor Documentation

LineFunctionRep (  ) 

The default constructor.

Definition at line 27 of file LineFunctionRep.cxx.

Referenced by LineFunctionRep::clone().

LineFunctionRep ( float  size  ) 

Constructor that takes size as argument.

Definition at line 33 of file LineFunctionRep.cxx.

LineFunctionRep ( const LineFunctionRep point_rep  ) 

The copy constructor.

Definition at line 39 of file LineFunctionRep.cxx.

~LineFunctionRep (  )  [virtual]

The destructor.

Definition at line 44 of file LineFunctionRep.cxx.


Member Function Documentation

RepBase * clone (  )  [virtual]

The clone function returns an object of its own kind which is a copy of this object at this moment.

Reimplemented from LinePointRep.

Definition at line 48 of file LineFunctionRep.cxx.

References LineFunctionRep::LineFunctionRep().

const Color & color (  )  const [virtual, inherited]

Returns the representation's color.

Todo:
Remove this member in favor of getColor().

Definition at line 63 of file RepBase.cxx.

References RepBase::m_color, RepBase::m_desel, and RepBase::s_desel_color.

Referenced by ContourPointRep::createContours(), SymbolPointRep::drawProjectedValues(), ErrorBarRep::drawProjectedValues(), ColorSymbolPointRep::drawProjectedValues(), ColorBoxPointRep::drawProjectedValues(), LinePointRep::drawValues(), ColumnPointRep::drawValues(), DataRep::getRepColor(), SymbolPointRep::setColor(), RepBase::setColor(), FilledColumnPointRep::setColor(), and ColumnPointRep::setColor().

void displayError ( ViewBase view  )  [virtual, inherited]

Display an error message.

Display an error message instead of drawing a point. This base class implementation displays a message with the name of the RepBase object.

Definition at line 161 of file RepBase.cxx.

References ViewBase::drawText(), RepBase::m_name, and RepBase::m_size.

void drawProjectedValues ( const DataSource ntuple,
TransformBase transform,
ViewBase view 
) [virtual, inherited]

Draws the projected values.

Draws the projected values contained in the DataSource ntuple. Each row of the ntuple is data point tuple of some dimension. Derived classes expect the DataSoruce to be of the correct dimension. The drawn points undergo a transform represented by transform and are drawn to the view view. If highlighting is on, uses the ranges to control highlighting.

Implements RepBase.

Reimplemented in ContourPointRep.

Definition at line 110 of file LinePointRep.cxx.

References LinePointRep::drawValues(), and LinePointRep::transformValues().

void drawProjectedValues ( const Range range,
const FunctionBase function,
TransformBase transform,
ViewBase view 
)

Draw the projected values.

Draws the function over the range Smooths the curve after transforming with transform with function. Draw to view.

Definition at line 55 of file LineFunctionRep.cxx.

References LinePointRep::drawValues(), and LineFunctionRep::smoothCurve().

void drawValues ( ViewBase view  )  [protected, inherited]

Draws the projected values from protected transformed copy to view.

Definition at line 120 of file LinePointRep.cxx.

References LinePointRep::addEndPoints(), RepBase::color(), LinePointRep::cornerCase(), Rect::getHeight(), Rect::getWidth(), Rect::getX(), Rect::getY(), LinePointRep::m_line_style, RepBase::m_size, LinePointRep::m_user_rect, LinePointRep::m_x, LinePointRep::m_xmax, LinePointRep::m_xmin, LinePointRep::m_y, LinePointRep::m_ymax, LinePointRep::m_ymin, LinePointRep::outside_box(), and RepBase::size().

Referenced by LinePointRep::drawProjectedValues(), and LineFunctionRep::drawProjectedValues().

const Color & getColor (  )  const [virtual, inherited]

Get the color of the representation.

Definition at line 58 of file RepBase.cxx.

References RepBase::m_color.

Referenced by PointRepXML::createElement().

unsigned int getStyle (  )  const [virtual, inherited]

Returns the style of the line drawing.

Reimplemented from RepBase.

Definition at line 74 of file LinePointRep.cxx.

References LinePointRep::m_line_style.

const std::string & getText (  )  const [inherited]

Gets the text.

Definition at line 139 of file RepBase.cxx.

References RepBase::m_text.

Referenced by PointRepXML::setAttributes().

const BinToColor * getValueTransform (  )  const [virtual, inherited]

Returns the value transform.

A value transform changes a binary value to some graphical representations such as color. The implementation in this base class returns a null pointer. Derived classes that implement value transform should return a pointer to the object it uses.

Reimplemented in ColorBoxPointRep, ColorSymbolPointRep, and ContourPointRep.

Definition at line 147 of file RepBase.cxx.

Referenced by PointRepXML::createElement().

bool isSelected (  )  const [virtual, inherited]

Returns true if representation is in selected state, otherwise returns false.

Definition at line 79 of file RepBase.cxx.

References RepBase::m_desel.

Referenced by DataRep::isSelected().

const string & name (  )  const [inherited]

Returns the name of the representation.

This name might be used by a Factory.

Definition at line 47 of file RepBase.cxx.

References RepBase::m_name.

Referenced by ContourPointRep::createContours(), FuncParmRep::drawProjectedValues(), ContourPointRep::drawProjectedValues(), PointRepXML::setAttributes(), QtDisplay::setContourLevels(), and Inspector::updatePlotTab().

void setColor ( const Color  )  [virtual, inherited]

Sets the color of the representation.

Reimplemented in ColumnPointRep, FilledColumnPointRep, and SymbolPointRep.

Definition at line 53 of file RepBase.cxx.

References RepBase::color(), and RepBase::m_color.

Referenced by PointRepXML::createObject(), CutRangeRep::CutRangeRep(), FunctionRep1::FunctionRep1(), LineDataRep::LineDataRep(), SymbolPointRep::setColor(), ColumnPointRep::setColor(), and DataRep::setRepColor().

void setErrorOn ( hippodraw::Axes::Type  axis,
bool  yes = true 
) [virtual, inherited]

Sets the error representation on specified axis, if any, to yes.

Reimplemented in ColumnPointRep, and SymbolPointRep.

Definition at line 129 of file RepBase.cxx.

Referenced by PointRepXML::createObject().

void setHighLighted ( bool  yes  )  [virtual, inherited]

Sets the highlighted state of the point representation.

If yes is true, then the point representation should show the non highlighted regions in some fashion, typically using light gray color instead of its normal color.

See also:
setSelected (bool)

m_ranges.

Definition at line 86 of file RepBase.cxx.

References RepBase::m_highlite.

void setSelected ( bool  yes  )  [virtual, inherited]

Sets the selection state of the representation.

Also sets the selection state of the ErrorBarRep representation, if any. If yes is false, the point representation should shows its deselected stated by some fashion, typically using a light gray color instead of its normal color.

Reimplemented from RepBase.

Definition at line 38 of file PointRepBase.cxx.

References PointRepBase::m_error_rep, and RepBase::setSelected().

void setSize ( float  value  )  [virtual, inherited]

Sets the size of the representation.

Derived classes may use this method to set the size of the point representation and any of its components.

Reimplemented in ColumnPointRep, and SymbolPointRep.

Definition at line 96 of file RepBase.cxx.

References RepBase::m_size.

Referenced by PointRepXML::createObject(), DataRep::setRepSize(), SymbolPointRep::setSize(), and ColumnPointRep::setSize().

void setStyle ( unsigned int  style  )  [virtual, inherited]

Sets the style of the line drawing.

Reimplemented from RepBase.

Definition at line 67 of file LinePointRep.cxx.

References hippodraw::String::convert(), and LinePointRep::m_line_style.

void setText ( const std::string &  text  )  [inherited]

Sets the text.

Definition at line 133 of file RepBase.cxx.

References RepBase::m_text.

Referenced by PointRepXML::createObject(), and DisplayController::createTextDataRep().

void setValueTransform ( BinToColor  )  [virtual, inherited]

Sets the value transform.

The implementation in this base class does nothing. Derived classes that implement a value transform should override this method and take possession of the received object.

Todo:
Should have base class that doesn't know about color and BinToColor class should derive from it.

Reimplemented in ColorBoxPointRep, ColorSymbolPointRep, and ContourPointRep.

Definition at line 154 of file RepBase.cxx.

float size (  )  const [inherited]

Returns the size of the representation.

Definition at line 91 of file RepBase.cxx.

References RepBase::m_size.

Referenced by ContourPointRep::createContours(), ContourPointRep::drawContourTicks(), SymbolPointRep::drawProjectedValues(), ErrorBarRep::drawProjectedValues(), ContourPointRep::drawProjectedValues(), ColumnPointRep::drawProjectedValues(), ColorSymbolPointRep::drawProjectedValues(), ColorBoxPointRep::drawProjectedValues(), LinePointRep::drawValues(), FilledColumnPointRep::drawValues(), DisplayController::pointSize(), PointRepXML::setAttributes(), LineFunctionRep::smoothCurve(), and LinePointRep::transformValues().

void smoothCurve ( const Range range,
TransformBase transform,
const FunctionBase function 
) [private]

Smooths the curve.

Definition at line 66 of file LineFunctionRep.cxx.

References Range::high(), Range::low(), LinePointRep::m_x, LinePointRep::m_y, and RepBase::size().

Referenced by LineFunctionRep::drawProjectedValues().

bool uses ( hippodraw::Symbol::Type   )  const [virtual, inherited]

Returns true if receiving object uses a hippodraw::Symbol::Type as a property, otherwise returns false.

This base class implementation returns false. Derived classes that use hippodraw::Symbol::Type should override this member function and return true.

Reimplemented in SymbolPointRep.

Definition at line 185 of file RepBase.cxx.

bool uses ( Color::Value   )  const [virtual, inherited]

Returns true if receiving object uses a Color::Value as a property, otherwise returns false.

This base class implementation returns true as most derived classes use a Color::Value as a property. Derived classes that do not, such as those that represent a value in color, should override this member function and return false.

Reimplemented in ColorBoxPointRep, and ColorSymbolPointRep.

Definition at line 171 of file RepBase.cxx.

bool uses ( hippodraw::Line::Style   )  const [virtual, inherited]

Returns true as this class uses hippodraw::Line::Style.

Reimplemented from RepBase.

Definition at line 346 of file LinePointRep.cxx.

bool xError (  )  const [virtual, inherited]

Returns true if the point representation displays error on the X axis.

The default implementation returns false. May be overridden by derived classes.

Reimplemented in SymbolPointRep.

Definition at line 116 of file RepBase.cxx.

Referenced by DataRep::isErrorDisplayed(), and PointRepXML::setAttributes().

bool yError (  )  const [virtual, inherited]

Returns true if the point representation displays error on the Y axis.

The default implementation returns false. May be overridden by derived classes.

Reimplemented in ColumnPointRep, and SymbolPointRep.

Definition at line 122 of file RepBase.cxx.

Referenced by DataRep::isErrorDisplayed(), and PointRepXML::setAttributes().


Member Data Documentation

Color m_color [protected, inherited]

The color of the representation.

Definition at line 57 of file RepBase.h.

Referenced by RepBase::color(), ContourPointRep::createContours(), CutRangeRep::drawInvertedRange1D(), CutRangeRep::drawInvertedRange2D(), CutRangeRep::drawNormalRange(), UnderflowTextRep::drawProjectedValues(), TotalTextRep::drawProjectedValues(), OverflowTextRep::drawProjectedValues(), FuncParmRep::drawProjectedValues(), FuncChiRep::drawProjectedValues(), BoxTextRep::drawProjectedValues(), AverageTextRep::drawProjectedValues(), RepBase::getColor(), and RepBase::setColor().

bool m_desel [protected, inherited]

A flag to indicate the representation is de-selected.

Definition at line 66 of file RepBase.h.

Referenced by RepBase::color(), ContourPointRep::createContours(), CutRangeRep::drawInvertedRange1D(), CutRangeRep::drawInvertedRange2D(), CutRangeRep::drawNormalRange(), ColorBoxPointRep::drawProjectedValues(), RepBase::isSelected(), and RepBase::setSelected().

ErrorBarRep* m_error_rep [protected, inherited]

The error bar representation.

Will be a null pointer if a derived class doesn't have one.

Definition at line 44 of file PointRepBase.h.

Referenced by ColumnPointRep::ColumnPointRep(), SymbolPointRep::drawProjectedValues(), ColumnPointRep::drawProjectedValues(), SymbolPointRep::setColor(), ColumnPointRep::setColor(), SymbolPointRep::setErrorOn(), ColumnPointRep::setErrorOn(), PointRepBase::setSelected(), SymbolPointRep::setSize(), ColumnPointRep::setSize(), SymbolPointRep::SymbolPointRep(), ColumnPointRep::~ColumnPointRep(), and SymbolPointRep::~SymbolPointRep().

bool m_highlite [protected, inherited]

Sets the state of highlighting.

Definition at line 70 of file RepBase.h.

Referenced by RepBase::setHighLighted().

hippodraw::Line::Style m_line_style [protected, inherited]

The style currently used.

Definition at line 99 of file LinePointRep.h.

Referenced by LinePointRep::drawValues(), ContourPointRep::drawValues(), ContourPointRep::drawValuesWithStyle(), LinePointRep::getStyle(), and LinePointRep::setStyle().

std::string m_name [protected, inherited]

The name of the representation.

Definition at line 51 of file RepBase.h.

Referenced by AverageTextRep::AverageTextRep(), ColorSymbolPointRep::ColorSymbolPointRep(), RepBase::displayError(), FilledColumnPointRep::FilledColumnPointRep(), ContourPointRep::init(), and RepBase::name().

float m_size [protected, inherited]

The size of the representation.

Definition at line 63 of file RepBase.h.

Referenced by RepBase::displayError(), UnderflowTextRep::drawProjectedValues(), TotalTextRep::drawProjectedValues(), SymbolPointRep::drawProjectedValues(), OverflowTextRep::drawProjectedValues(), FuncParmRep::drawProjectedValues(), FuncChiRep::drawProjectedValues(), ErrorBarRep::drawProjectedValues(), ColorSymbolPointRep::drawProjectedValues(), BoxTextRep::drawProjectedValues(), AverageTextRep::drawProjectedValues(), LinePointRep::drawValues(), ContourPointRep::drawValues(), ColumnPointRep::drawValues(), ContourPointRep::drawValuesWithStyle(), RepBase::setSize(), and RepBase::size().

std::string m_text [protected, inherited]

The text to be displayed before the statistics.

Definition at line 54 of file RepBase.h.

Referenced by BoxTextRep::drawProjectedValues(), RepBase::getText(), and RepBase::setText().

std::vector< double > m_x [protected, inherited]

A cache of the points along the X axis to be drawn.

For efficiency, all line segments are sent once to the view. However, the x and y points are kept separate so that they can be transformed separately. LinePointRep builds a cache for efficiency.

Definition at line 87 of file LinePointRep.h.

Referenced by ContourPointRep::createContours(), ContourPointRep::drawProjectedValues(), LinePointRep::drawValues(), ContourPointRep::drawValues(), ContourPointRep::drawValuesWithStyle(), LineFunctionRep::smoothCurve(), and LinePointRep::transformValues().

std::vector< double > m_y [protected, inherited]

A cache of the points along the Y axis to be drawn.

For efficiency, all line segments are sent once to the view. However, the x and y points are kept separate so that they can be transformed separately. LinePointRep builds a cache for efficiency.

Definition at line 95 of file LinePointRep.h.

Referenced by ContourPointRep::createContours(), ContourPointRep::drawProjectedValues(), LinePointRep::drawValues(), ContourPointRep::drawValues(), ContourPointRep::drawValuesWithStyle(), LineFunctionRep::smoothCurve(), and LinePointRep::transformValues().

const Color s_desel_color [static, protected, inherited]

The color of the representation when it is de-selected.

Definition at line 60 of file RepBase.h.

Referenced by RepBase::color(), ContourPointRep::createContours(), CutRangeRep::drawInvertedRange1D(), CutRangeRep::drawInvertedRange2D(), CutRangeRep::drawNormalRange(), and ColorBoxPointRep::drawProjectedValues().


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen