MathPlot
|
Abstract base class providing plot and labeling functionality for functions F:X->Y. More...
#include <mathplot.h>
Public Member Functions | |
mpFX (const wxString &name=wxEmptyString, int flags=mpALIGN_RIGHT, bool useY2Axis=false) | |
virtual double | GetY (double x)=0 |
Get function value for argument. More... | |
double | DoGetY (double x) |
Get function value with log test. | |
![]() | |
mpFunction (mpLayerType layerType=mpLAYER_PLOT, const wxString &name=wxEmptyString, bool useY2Axis=false) | |
Full constructor. | |
void | SetContinuity (bool continuity) |
Set the 'continuity' property of the layer. More... | |
bool | GetContinuity () const |
Gets the 'continuity' property of the layer. More... | |
void | SetStep (unsigned int step) |
Set step for plot. More... | |
unsigned int | GetStep () const |
Get step for plot. More... | |
void | SetSymbol (mpSymbol symbol) |
Set symbol. More... | |
mpSymbol | GetSymbol () const |
Get symbol. More... | |
void | SetSymbolSize (int size) |
Set symbol size. More... | |
int | GetSymbolSize () const |
Get symbol size. More... | |
virtual bool | DrawSymbol (wxDC &dc, wxCoord x, wxCoord y) |
Draw a symbol in place of point. More... | |
void | SetY2Axis (bool _useY2) |
Set use of second Y axis. More... | |
bool | GetY2Axis () const |
Is second Y axis selected for this layer? More... | |
![]() | |
mpLayer (mpLayerType layerType) | |
void | SetWindow (mpWindow &w) |
Set the wxWindow handle. | |
virtual bool | HasBBox () |
Check whether this layer has a bounding box. More... | |
virtual void | GetBBox (mpFloatRect *m_bound) |
Return the bounding box, ie GetMinX(), GetMaxX(), GetMinY() and GetMaxY() of this mpLayer Here we don't use extra Y2 values. | |
mpLayerType | GetLayerType () const |
Get layer type: a Layer can be of different types: plot, lines, axis, info boxes, etc, this method returns the right value. More... | |
int | GetLayerSubType () const |
Get layer subtype: each layer type can have several flavors. More... | |
virtual bool | IsLayerType (mpLayerType type, int *sub_type) |
Specifies that if the layer is of type "type". More... | |
virtual double | GetMinX () |
Get inclusive left border of bounding box. More... | |
virtual double | GetMaxX () |
Get inclusive right border of bounding box. More... | |
virtual double | GetMinY () |
Get inclusive bottom border of bounding box. More... | |
virtual double | GetMaxY () |
Get inclusive top border of bounding box. More... | |
void | Plot (wxDC &dc, mpWindow &w) |
Plot given view of layer to the given device context. More... | |
void | SetName (const wxString &name) |
Set layer name. More... | |
const wxString & | GetName () const |
Get layer name. More... | |
void | SetFont (const wxFont &font) |
Set layer font. More... | |
const wxFont & | GetFont () const |
Get font set for this layer. More... | |
void | SetFontColour (const wxColour &colour) |
Set layer font foreground colour. More... | |
const wxColour & | GetFontColour () const |
Get font foreground colour set for this layer. More... | |
void | SetPen (const wxPen &pen) |
Set layer pen. More... | |
const wxPen & | GetPen () const |
Get pen set for this layer. More... | |
void | SetBrush (const wxBrush &brush) |
Set layer brush. More... | |
const wxBrush & | GetBrush () const |
Get brush set for this layer. More... | |
void | SetShowName (bool show) |
Set Name visibility. More... | |
bool | GetShowName () const |
Get Name visibility. More... | |
void | SetDrawOutsideMargins (bool drawModeOutside) |
Set Draw mode: inside or outside margins. More... | |
bool | GetDrawOutsideMargins () const |
Get Draw mode: inside or outside margins. More... | |
wxBitmap | GetColourSquare (int side=16) |
Get a small square bitmap filled with the colour of the pen used in the layer. More... | |
bool | IsVisible () const |
Checks whether the layer is visible or not. More... | |
virtual void | SetVisible (bool show) |
Sets layer visibility. More... | |
bool | IsTractable () const |
Checks whether the layer is tractable or not. More... | |
virtual void | SetTractable (bool track) |
Sets layer tractability. More... | |
void | SetAlign (int align) |
Set X/Y alignment. More... | |
int | GetAlign () const |
Get X/Y alignment. More... | |
void | SetCanDelete (bool canDelete) |
Set CanDelete for plot. More... | |
bool | GetCanDelete (void) const |
Get CanDelete for plot. More... | |
mpLayerZOrder | GetZIndex (void) const |
Get the ZIndex of the plot. More... | |
Protected Member Functions | |
virtual void | DoPlot (wxDC &dc, mpWindow &w) |
Layer plot handler. More... | |
wxDECLARE_DYNAMIC_CLASS (mpFX) | |
![]() | |
wxDECLARE_DYNAMIC_CLASS (mpFunction) | |
![]() | |
void | UpdateContext (wxDC &dc) const |
Initialize the context. | |
virtual void | DoBeforePlot () |
If we need to do something before plot like reinitialize some parameters ... | |
void | CheckLog (double *x, double *y) |
Test if we are in log axis and if true return the log of the values. | |
Additional Inherited Members | |
![]() | |
bool | m_continuous |
Specify if the layer will be plotted as a continuous line or a set of points. Default false. | |
mpSymbol | m_symbol |
A symbol for the plot in place of point. Default mpNone. | |
int | m_symbolSize |
Size of the symbol. Default 6. | |
int | m_symbolSize2 |
Size of the symbol div 2. | |
unsigned int | m_step |
Step to get point to be draw. Default : 1. | |
bool | m_UseY2Axis |
Use Y2 axis. This second axis must exist. | |
![]() | |
const mpLayerType | m_type |
Layer type mpLAYER_*. | |
mpWindow * | m_win |
The wxWindow handle. | |
int | m_subtype |
Layer sub type, set in constructors. | |
wxFont | m_font |
Layer's font. | |
wxColour | m_fontcolour |
Layer's font foreground colour. | |
wxPen | m_pen |
Layer's pen. Default Colour = Black, width = 1, style = wxPENSTYLE_SOLID. | |
wxBrush | m_brush |
Layer's brush. Default wxTRANSPARENT_BRUSH. | |
wxString | m_name |
Layer's name. | |
bool | m_showName |
States whether the name of the layer must be shown. Default : false. | |
bool | m_drawOutsideMargins |
Select if the layer should draw only inside margins or over all DC. Default : false. | |
bool | m_visible |
Toggles layer visibility. Default : true. | |
bool | m_tractable |
Is the layer tractable. | |
int | m_flags |
Holds label alignment. Default : mpALIGN_NE. | |
mpRect | m_plotBoundaries |
The boundaries for plotting curve calculated by mpWindow. | |
bool | m_CanDelete |
Is the layer can be deleted. | |
mpLayerZOrder | m_ZIndex |
The index in Z-Order to draw the layer. | |
Abstract base class providing plot and labeling functionality for functions F:X->Y.
Override mpFX::GetY to implement a function. Override mpFX::GetMinY and mpFX::GetMaxY to provide min and max Y range Optionally implement a constructor and pass a name (label) and a label alignment to the constructor mpFX::mpFX. If the layer name is empty, no label will be plotted.
mpFX::mpFX | ( | const wxString & | name = wxEmptyString , |
int | flags = mpALIGN_RIGHT , |
||
bool | useY2Axis = false |
||
) |
name | Label |
flags | Label alignment, pass one of #mpALIGN_RIGHT, #mpALIGN_CENTER, #mpALIGN_LEFT. |
|
protectedvirtual |
Layer plot handler.
This implementation will plot the function in the visible area and put a label according to the alignment specified.
Implements MathPlot::mpLayer.
|
pure virtual |
Get function value for argument.
Override this function in your implementation.
x | Argument |
Implemented in Fibonacci, Elias, Optimum, FixedBitwidth, MyPower, MyFunction, and MySIN.