#include <mathplot.h>
Public Member Functions | |
mpProfile (wxString name=wxEmptyString, int flags=mpALIGN_TOP) | |
virtual double | GetY (double x)=0 |
virtual void | Plot (wxDC &dc, mpWindow &w) |
Protected Attributes | |
int | m_flags |
Holds label alignment. |
Abstract base class providing plot and labeling functionality for functions F:Y->X. Override mpProfile::GetX to implement a function. This class is similar to mpFY, but the Plot method is different. The plot is in fact represented by lines instead of points, which gives best rendering of rapidly-varying functions, and in general, data which are not so close one to another. Optionally implement a constructor and pass a name (label) and a label alignment to the constructor mpProfile::mpProfile. If the layer name is empty, no label will be plotted.
mpProfile::mpProfile | ( | wxString | name = wxEmptyString , |
|
int | flags = mpALIGN_TOP | |||
) |
name | Label | |
flags | Label alignment, pass one of mpALIGN_BOTTOM, mpALIGN_CENTER, mpALIGN_TOP. |
References mpLAYER_PLOT.
virtual double mpProfile::GetY | ( | double | x | ) | [pure virtual] |
Get function value for argument. Override this function in your implementation.
x | Argument |
Referenced by Plot().
void mpProfile::Plot | ( | wxDC & | dc, | |
mpWindow & | w | |||
) | [virtual] |
Layer plot handler. This implementation will plot the function in the visible area and put a label according to the aligment specified.
Implements mpLayer.
References mpWindow::GetMarginBottom(), mpWindow::GetMarginLeft(), mpWindow::GetMarginRight(), mpWindow::GetMarginTop(), mpWindow::GetScrX(), mpWindow::GetScrY(), GetY(), mpLayer::m_drawOutsideMargins, m_flags, mpLayer::m_font, mpLayer::m_name, mpLayer::m_pen, mpLayer::m_visible, mpALIGN_CENTER, mpALIGN_RIGHT, mpALIGNMASK, mpWindow::p2x(), and mpWindow::y2p().
int mpProfile::m_flags [protected] |
Holds label alignment.
Referenced by Plot().