Main MRPT website > C++ reference
MRPT logo
Classes | Defines | Typedefs | Enumerations | Variables

mathplot.h File Reference


Detailed Description

Definition in file mathplot.h.

#include <mrpt/gui/link_pragmas.h>
#include <vector>
#include <wx/defs.h>
#include <wx/menu.h>
#include <wx/scrolwin.h>
#include <wx/event.h>
#include <wx/dynarray.h>
#include <wx/pen.h>
#include <wx/dcmemory.h>
#include <wx/string.h>
#include <wx/print.h>
#include <wx/image.h>
#include <deque>
Include dependency graph for mathplot.h:

Go to the source code of this file.

Classes

class  mpLayer
 Plot layer, abstract base class. More...
class  mpInfoLayer
 Base class to create small rectangular info boxes mpInfoLayer is the base class to create a small rectangular info box in transparent overlay over plot layers. More...
class  mpInfoCoords
 Implements an overlay box which shows the mouse coordinates in plot units. More...
class  mpInfoLegend
 Implements the legend to be added to the plot This layer allows you to add a legend to describe the plots in the window. More...
class  mpFX
 Abstract base class providing plot and labeling functionality for functions F:X->Y. More...
class  mpFY
 Abstract base class providing plot and labeling functionality for functions F:Y->X. More...
class  mpFXY
 Abstract base class providing plot and labeling functionality for a locus plot F:N->X,Y. More...
class  mpProfile
 Abstract base class providing plot and labeling functionality for functions F:Y->X. More...
class  mpScaleX
 Plot layer implementing a x-scale ruler. More...
class  mpScaleY
 Plot layer implementing a y-scale ruler. More...
class  mpWindow
 Canvas for plotting mpLayer implementations. More...
class  mpFXYVector
 A class providing graphs functionality for a 2D plot (either continuous or a set of points), from vectors of data. More...
class  mpText
 Plot layer implementing a text string. More...
class  mpPrintout
 Printout class used by mpWindow to draw in the objects to be printed. More...
class  mpMovableObject
 This virtual class represents objects that can be moved to an arbitrary 2D location+rotation. More...
class  mpCovarianceEllipse
 A 2D ellipse, described by a 2x2 covariance matrix. More...
class  mpPolygon
 An arbitrary polygon, descendant of mpMovableObject. More...
class  mpBitmapLayer
 This virtual class represents objects that can be moved to an arbitrary 2D location+rotation. More...

Defines

#define WXDLLIMPEXP_MATHPLOT   GUI_IMPEXP
#define X_BORDER_SEPARATION   40
#define Y_BORDER_SEPARATION   60
Label alignment constants
#define mpALIGNMASK   0x03
#define mpALIGN_RIGHT   0x00
 Aligns label to the right.
#define mpALIGN_CENTER   0x01
 Aligns label to the center.
#define mpALIGN_LEFT   0x02
 Aligns label to the left.
#define mpALIGN_TOP   mpALIGN_RIGHT
 Aligns label to the top.
#define mpALIGN_BOTTOM   mpALIGN_LEFT
 Aligns label to the bottom.
#define mpALIGN_BORDER_BOTTOM   0x04
 Aligns X axis to bottom border.
#define mpALIGN_BORDER_TOP   0x05
 Aligns X axis to top border.
#define mpX_NORMAL   0x00
 Set label for X axis in normal mode.
#define mpX_TIME   0x01
 Set label for X axis in time mode: the value is represented as minutes:seconds.milliseconds if time is less than 2 minutes, hours:minutes:seconds otherwise.
#define mpX_HOURS   0x02
 Set label for X axis in hours mode: the value is always represented as hours:minutes:seconds.
#define mpX_DATE   0x03
 Set label for X axis in date mode: the value is always represented as yyyy-mm-dd.
#define mpX_DATETIME   0x04
 Set label for X axis in datetime mode: the value is always represented as yyyy-mm-ddThh:mm:ss.
#define mpALIGN_BORDER_LEFT   mpALIGN_BORDER_BOTTOM
 Aligns Y axis to left border.
#define mpALIGN_BORDER_RIGHT   mpALIGN_BORDER_TOP
 Aligns Y axis to right border.
#define mpALIGN_NE   0x00
 Aligns label to north-east.
#define mpALIGN_NW   0x01
 Aligns label to north-west.
#define mpALIGN_SW   0x02
 Aligns label to south-west.
#define mpALIGN_SE   0x03
 Aligns label to south-east.
Constants defining mouse modes for mpWindow
#define mpMOUSEMODE_DRAG   0
 Mouse panning drags the view.
#define mpMOUSEMODE_ZOOMBOX   1
 Mouse panning creates a zoom box.

Typedefs

typedef enum __mp_Layer_Type mpLayerType
typedef std::deque< mpLayer * > wxLayerList
 Define the type for the list of layers inside mpWindow.

Enumerations

enum  {
  mpID_FIT = 2000, mpID_ZOOM_IN, mpID_ZOOM_OUT, mpID_CENTER,
  mpID_LOCKASPECT, mpID_HELP_MOUSE, mpID_PRINT
}
 

Command IDs used by mpWindow.

More...
enum  __mp_Layer_Type {
  mpLAYER_UNDEF, mpLAYER_AXIS, mpLAYER_PLOT, mpLAYER_INFO,
  mpLAYER_BITMAP
}

Variables

class WXDLLIMPEXP_MATHPLOT mpLayer
class WXDLLIMPEXP_MATHPLOT mpFX
class WXDLLIMPEXP_MATHPLOT mpFY
class WXDLLIMPEXP_MATHPLOT mpFXY
class WXDLLIMPEXP_MATHPLOT mpFXYVector
class WXDLLIMPEXP_MATHPLOT mpScaleX
class WXDLLIMPEXP_MATHPLOT mpScaleY
class WXDLLIMPEXP_MATHPLOT mpWindow
class WXDLLIMPEXP_MATHPLOT mpText
class WXDLLIMPEXP_MATHPLOT mpPrintout

Define Documentation

#define mpALIGN_BORDER_BOTTOM   0x04

Aligns X axis to bottom border.

For mpScaleX

Definition at line 495 of file mathplot.h.

#define mpALIGN_BORDER_LEFT   mpALIGN_BORDER_BOTTOM

Aligns Y axis to left border.

For mpScaleY

Definition at line 509 of file mathplot.h.

#define mpALIGN_BORDER_RIGHT   mpALIGN_BORDER_TOP

Aligns Y axis to right border.

For mpScaleY

Definition at line 511 of file mathplot.h.

#define mpALIGN_BORDER_TOP   0x05

Aligns X axis to top border.

For mpScaleX

Definition at line 497 of file mathplot.h.

#define mpALIGN_BOTTOM   mpALIGN_LEFT

Aligns label to the bottom.

For use with mpFY.

Definition at line 493 of file mathplot.h.

#define mpALIGN_CENTER   0x01

Aligns label to the center.

For use with mpFX and mpFY.

Definition at line 487 of file mathplot.h.

#define mpALIGN_LEFT   0x02

Aligns label to the left.

For use with mpFX.

Definition at line 489 of file mathplot.h.

#define mpALIGN_NE   0x00

Aligns label to north-east.

For use with mpFXY.

Definition at line 513 of file mathplot.h.

Referenced by mpMovableObject::SetCoordinateBase().

#define mpALIGN_NW   0x01

Aligns label to north-west.

For use with mpFXY.

Definition at line 515 of file mathplot.h.

#define mpALIGN_RIGHT   0x00

Aligns label to the right.

For use with mpFX.

Definition at line 485 of file mathplot.h.

#define mpALIGN_SE   0x03

Aligns label to south-east.

For use with mpFXY.

Definition at line 519 of file mathplot.h.

#define mpALIGN_SW   0x02

Aligns label to south-west.

For use with mpFXY.

Definition at line 517 of file mathplot.h.

#define mpALIGN_TOP   mpALIGN_RIGHT

Aligns label to the top.

For use with mpFY.

Definition at line 491 of file mathplot.h.

#define mpALIGNMASK   0x03

Definition at line 483 of file mathplot.h.

#define mpMOUSEMODE_DRAG   0

Mouse panning drags the view.

Mouse mode for mpWindow.

Definition at line 802 of file mathplot.h.

#define mpMOUSEMODE_ZOOMBOX   1

Mouse panning creates a zoom box.

Mouse mode for mpWindow.

Definition at line 804 of file mathplot.h.

#define mpX_DATE   0x03

Set label for X axis in date mode: the value is always represented as yyyy-mm-dd.

Definition at line 505 of file mathplot.h.

#define mpX_DATETIME   0x04

Set label for X axis in datetime mode: the value is always represented as yyyy-mm-ddThh:mm:ss.

Definition at line 507 of file mathplot.h.

#define mpX_HOURS   0x02

Set label for X axis in hours mode: the value is always represented as hours:minutes:seconds.

Definition at line 503 of file mathplot.h.

#define mpX_NORMAL   0x00

Set label for X axis in normal mode.

Definition at line 499 of file mathplot.h.

#define mpX_TIME   0x01

Set label for X axis in time mode: the value is represented as minutes:seconds.milliseconds if time is less than 2 minutes, hours:minutes:seconds otherwise.

Definition at line 501 of file mathplot.h.

#define WXDLLIMPEXP_MATHPLOT   GUI_IMPEXP

Definition at line 69 of file mathplot.h.

#define X_BORDER_SEPARATION   40

Definition at line 104 of file mathplot.h.

#define Y_BORDER_SEPARATION   60

Definition at line 105 of file mathplot.h.


Typedef Documentation

typedef std::deque<mpLayer*> wxLayerList

Define the type for the list of layers inside mpWindow.

Definition at line 809 of file mathplot.h.


Enumeration Type Documentation

anonymous enum

Command IDs used by mpWindow.

Enumerator:
mpID_FIT 

Fit view to match bounding box of all layers.

mpID_ZOOM_IN 

Zoom into view at clickposition / window center.

mpID_ZOOM_OUT 

Zoom out.

mpID_CENTER 

Center view on click position.

mpID_LOCKASPECT 

Lock x/y scaling aspect.

mpID_HELP_MOUSE 

Shows information about the mouse commands.

mpID_PRINT 

JL: Prints the graph.

Definition at line 123 of file mathplot.h.

Enumerator:
mpLAYER_UNDEF 

Layer type undefined.

mpLAYER_AXIS 

Axis type layer.

mpLAYER_PLOT 

Plot type layer.

mpLAYER_INFO 

Info box type layer.

mpLAYER_BITMAP 

Bitmap type layer.

Definition at line 138 of file mathplot.h.


Variable Documentation

class WXDLLIMPEXP_MATHPLOT mpFX

Definition at line 112 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpFXY

Definition at line 114 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpFXYVector

Definition at line 115 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpFY

Definition at line 113 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpLayer

Definition at line 111 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpPrintout

Definition at line 120 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpScaleX

Definition at line 116 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpScaleY

Definition at line 117 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpText

Definition at line 119 of file mathplot.h.

class WXDLLIMPEXP_MATHPLOT mpWindow

Definition at line 118 of file mathplot.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011