|
MathPlot
|
Plot layer, abstract base class. More...
#include <mathplot.h>


Public Member Functions | |
| mpLayer (mpLayerType layerType) | |
| void | SetWindow (mpWindow &w) |
| Set the wxWindow handle. | |
| virtual bool | HasBBox () |
| Check whether this layer has a bounding box. More... | |
| 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 | |
| void | UpdateContext (wxDC &dc) const |
| Initialize the context. | |
| virtual void | DoPlot (wxDC &dc, mpWindow &w)=0 |
| Pure virtual method to plot the layer. More... | |
| 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. | |
Protected Attributes | |
| 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. | |
Plot layer, abstract base class.
Any number of mpLayer implementations can be attached to mpWindow. Examples for mpLayer implementations are function graphs, or scale rulers.
For convenience mpLayer defines a name, a font (wxFont), a pen (wxPen), and a continuity property (bool) as class members. The default values at constructor are the default font, a black pen, and continuity set to false (draw separate points). These may or may not be used by implementations.
|
protectedpure virtual |
Pure virtual method to plot the layer.
Must be overridden and implemented by derived classes.
Implemented in mpBitmapLayer, mpMovableObject, mpText, mpScaleY, mpScaleX, mpPieChart, mpBarChart, mpProfile, mpFXY, mpFY, mpFX, mpVerticalLine, mpHorizontalLine, mpInfoLegend, mpInfoCoords, and mpInfoLayer.
|
inline |
Get X/Y alignment.
|
inline |
Get brush set for this layer.
|
inline |
Get CanDelete for plot.
| wxBitmap mpLayer::GetColourSquare | ( | int | side = 16 | ) |
Get a small square bitmap filled with the colour of the pen used in the layer.
Useful to create legends or similar reference to the layers.
| side | side length in pixels |
|
inline |
Get Draw mode: inside or outside margins.
|
inline |
Get font set for this layer.
|
inline |
Get font foreground colour set for this layer.
|
inline |
Get layer subtype: each layer type can have several flavors.
|
inline |
Get layer type: a Layer can be of different types: plot, lines, axis, info boxes, etc, this method returns the right value.
|
inlinevirtual |
Get inclusive right border of bounding box.
Reimplemented in mpBitmapLayer, mpMovableObject, mpPieChart, mpBarChart, mpFXYVector, MyLissajoux, and MyCOSinverse.
|
inlinevirtual |
Get inclusive top border of bounding box.
Reimplemented in mpBitmapLayer, mpMovableObject, mpPieChart, mpBarChart, mpFXYVector, MyLissajoux, MyPower, MyFunction, and MySIN.
|
inlinevirtual |
Get inclusive left border of bounding box.
Reimplemented in mpBitmapLayer, mpMovableObject, mpPieChart, mpBarChart, mpFXYVector, MyLissajoux, and MyCOSinverse.
|
inlinevirtual |
Get inclusive bottom border of bounding box.
Reimplemented in mpBitmapLayer, mpMovableObject, mpPieChart, mpBarChart, mpFXYVector, MyLissajoux, MyPower, MyFunction, and MySIN.
|
inline |
Get layer name.
|
inline |
Get pen set for this layer.
|
inline |
Get Name visibility.
|
inline |
Get the ZIndex of the plot.
|
inlinevirtual |
Check whether this layer has a bounding box.
The default implementation returns TRUE. Override and return FALSE if your mpLayer implementation should be ignored by the calculation of the global bounding box for all layers in a mpWindow.
| TRUE | Has bounding box |
| FALSE | Has not bounding box |
Reimplemented in mpMovableObject, mpText, mpScale, mpChart, mpLine, and mpInfoLayer.
|
inlinevirtual |
Specifies that if the layer is of type "type".
if true then get the subtype
| type | |
| subtype |
|
inline |
Checks whether the layer is tractable or not.
|
inline |
Checks whether the layer is visible or not.
| void mpLayer::Plot | ( | wxDC & | dc, |
| mpWindow & | w | ||
| ) |
Plot given view of layer to the given device context.
An implementation of this function has to transform layer coordinates to wxDC coordinates based on the view parameters retrievable from the mpWindow passed in w. Note that the public methods of mpWindow: x2p,y2p and p2x,p2y are already provided which transform layer coordinates to DC pixel coordinates, and user code should rely on them for portability and future changes to be applied transparently, instead of implementing the following formulas manually.
The passed device context dc has its coordinate origin set to the top-left corner of the visible area (the default). The coordinate orientation is as shown in the following picture:
(wxDC origin 0,0) x-------------> ascending X ----------------+ | | | | V ascending Y | | | | | | | +-------------------------------------------+ <-- right-bottom corner of the mpWindow visible area.
Note that Y ascends in downward direction, whereas the usual vertical orientation for mathematical plots is vice versa. Thus Y-orientation will be swapped usually, when transforming between wxDC and mpLayer coordinates. This change of coordinates is taken into account in the methods p2x, p2y, x2p, y2p.
Rules for transformation between mpLayer and wxDC coordinates
| dc | Device context to plot to. |
| w | View to plot. The visible area can be retrieved from this object. |
|
inline |
Set X/Y alignment.
| align | alignment |
|
inline |
Set layer brush.
| brush | brush, will be copied to internal class member |
|
inline |
Set CanDelete for plot.
| CanDelete |
|
inline |
Set Draw mode: inside or outside margins.
Default is outside (TRUE), which allows the layer to draw up to the mpWindow border.
| drawModeOutside | The draw mode to be set |
|
inline |
Set layer font.
| font | Font, will be copied to internal class member |
|
inline |
Set layer font foreground colour.
| colour |
|
inline |
Set layer name.
| name | Name, will be copied to internal class member |
|
inline |
Set layer pen.
| pen | Pen, will be copied to internal class member |
|
inline |
Set Name visibility.
| show | visibility bool. |
|
inlinevirtual |
Sets layer tractability.
| track | tractability bool. |
|
inlinevirtual |
1.8.13