CPyPlot Class Reference

Base class for python plots. More...

#include <CPyPlot.hpp>

Inheritance diagram for CPyPlot:

Inheritance graph
[legend]
Collaboration diagram for CPyPlot:

Collaboration graph
[legend]

List of all members.

Public Types

enum  plotTypes { PLOT_SCATTER, PLOT_GRID, PLOT_RENDER, PLOT_PARTDATA }

Signals

void testsignal ()

Public Member Functions

 CPyPlot (QWidget *parent, string xname="x", string yname="y", int type=0)
virtual ~CPyPlot ()
 Destructor.
virtual void calculate (Matrix< float > *thedata=0)
void plot ()
void addLimitingValue (Cvals *limitType, double limMin, double limMax)
 NOT IMPLEMENTED.
void printArguments ()
void setRun (int run)
void setFile (int file)
int getRun () const
int getFile () const
int getType () const
virtual string getWindowTitle ()
int getNumPlots () const
string getXname () const
string getYname () const
void setXLimits (const double &xmin, const double &xmax)
void setYLimits (const double &ymin, const double &ymax)
void setLimits (const double &xmin, const double &xmax, const double &ymin, const double &ynax)
 Set the limits for the x- and y axes.
double getXmin () const
double getXmax () const
double getYmin () const
double getYmax () const
void xLimits (double &xmin, double &xmax)
void yLimits (double &ymin, double &ymax)
void limits (double &xmin, double &xmax, double &ymin, double &ymax)
void setNParticles (const int &npart)
int getNParticles () const
string getPlotType () const
void emitsignal ()

Static Public Member Functions

static void createNewPlot (const plotData &pd)
 Create a plot based on pd.
static CPyPlotgetPlotPtr (const int &num)

Protected Member Functions

virtual bool do_plotting ()
void addArgument (const string &name, const int &value)
void addArgument (const string &name, const double &value)
void addArgument (const string &name, const string &value)
 add a string to the argument list dictionary
void addArgument (const string &name, PyObject *ref)
PyObject * getDict () const
void setPlotType (string type)
void resizeEvent (QResizeEvent *revent)

Static Protected Member Functions

static void importArray ()
 import_array wrapper

Protected Attributes

int type_
bool calculated_
string plotType_
QWidget * pyWidget_
QMdiSubWindow * mdiWin_

Private Attributes

vector< struct limit_data > limitData
int run_
int file_
int number_
int _nparticles
string xname_
string yname_
double xmin_
double xmax_
double ymin_
double ymax_
PyObject * argDict_

Static Private Attributes

static int numPlots_ = 0
static vector< CPyPlot * > plots_
static bool _arraysImported = false


Detailed Description

Base class for python plots.

base class for python plots. Generally you should derive from this class and implement a new class with specific functionality (e.g. 2D color plots, line plots, ...

You should override calculate and do_plotting. They used to be pure virtual but that gave problems when swigging this class.


Member Enumeration Documentation

< enumeration for the possible plot types


Constructor & Destructor Documentation

CPyPlot::CPyPlot ( QWidget *  myparent,
string  xname = "x",
string  yname = "y",
int  type = 0 
)

Constructor


Member Function Documentation

void CPyPlot::addArgument ( const string &  name,
PyObject *  ref 
) [protected]

add a PyObject to the argument list dictionary

void CPyPlot::addArgument ( const string &  name,
const double &  value 
) [protected]

add a double to the argument list dictionary. Note: when using a name (key) that already exists the previous value is overwritten.

void CPyPlot::addArgument ( const string &  name,
const int &  value 
) [protected]

add an integer to the argument list dictionary

void CPyPlot::addLimitingValue ( Cvals limitType,
double  limMin,
double  limMax 
)

NOT IMPLEMENTED.

A condition for the particles to be elligible for plotting is added: the return value of limitType should lay between limMin and limMax

Parameters:
limitType specifies where the program finds the value for each particle

void CPyPlot::createNewPlot ( const plotData pd  )  [static]

Create a plot based on pd.

Based on the data inside pd a new plot is created.

string CPyPlot::getWindowTitle (  )  [virtual]

provides a default title, is virtual so can be overridden

void CPyPlot::plot (  ) 

first calls do_plotting, then sets some final attributes (e.g. window title) and then create the QWidget

void CPyPlot::printArguments (  ) 

print all the arguments currently in the argument list dictionary

void CPyPlot::setXLimits ( const double &  xmin,
const double &  xmax 
)

Set the limits for the x axis

void CPyPlot::setYLimits ( const double &  ymin,
const double &  ymax 
)

Set the limits for the y axis


Member Data Documentation

int CPyPlot::_nparticles [private]

number of particles present on the plot

PyObject* CPyPlot::argDict_ [private]

pointer to a tuble, used as argument to the python function

int CPyPlot::file_ [private]

number of the current snapshot

vector<struct limit_data> CPyPlot::limitData [private]

Stores information about limiting values

QMdiSubWindow* CPyPlot::mdiWin_ [protected]

Qt mdi window we are on

int CPyPlot::number_ [private]

(unique) number of this plot (first: 0)

string CPyPlot::plotType_ [protected]

What type is this plot? (e.g. colorplot, scatterplot, ...)

QWidget* CPyPlot::pyWidget_ [protected]

Qt widget created by python (contains the plot)

int CPyPlot::run_ [private]

number of the simulation

int CPyPlot::type_ [protected]

type of the particles on the plot

Reimplemented in CPyScatterPlot.


The documentation for this class was generated from the following files:

Generated on Fri Oct 16 18:59:58 2009 for HYPLOT by  doxygen 1.5.8