Graph3D.h
Go to the documentation of this file.
/***************************************************************************
File : Graph3D.h
Project : QtiPlot
--------------------------------------------------------------------
Copyright : (C) 2004-2010 by Ion Vasilief
Email (use @ for *) : ion_vasilief*yahoo.fr
Description : 3D graph widget
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301 USA *
* *
***************************************************************************/
#ifndef GRAPH3D_H
#define GRAPH3D_H
#include <qwt3d_curve.h>
#include <qwt3d_surfaceplot.h>
#include <qwt3d_function.h>
#include <qwt3d_parametricsurface.h>
#include <QTimer>
#include <QVector>
#include <QEvent>
#include <Table.h>
#include <Matrix.h>
#include <FrameWidget.h>
using namespace Qwt3D;
class QTextDocument;
class UserFunction;
class UserParametricSurface;
class ConstFunction;
class Graph3D: public MdiSubWindow
{
Q_OBJECT
public:
Graph3D (const QString& label, ApplicationWindow* parent, const char* name=0, Qt::WFlags f=0);
~Graph3D();
enum PlotType{NoTable = -1, Scatter = 0, Trajectory = 1, Bars = 2, Ribbon = 3};
enum PointStyle{None = 0, Dots = 1, VerticalBars = 2, HairCross = 3, Cones = 4};
enum AxisNumericFormat{Default = 0, Decimal = 1, Scientific = 2, Engineering = 3};
static Graph3D* restore(ApplicationWindow* app, const QStringList &lst, int fileVersion);
Qwt3D::Plot3D* surface(){return sp;};
bool scaleOnPrint(){return d_scale_on_print;};
void setScaleOnPrint(bool on){d_scale_on_print = on;};
bool printCropmarksEnabled(){return d_print_cropmarks;};
void printCropmarks(bool on){d_print_cropmarks = on;};
public slots:
void copy(Graph3D* g);
void initPlot();
void initCoord();
void addFunction(const QString& s, double xl, double xr, double yl,
double yr, double zl, double zr, int columns = 40, int rows = 30);
void addParametricSurface(const QString& xFormula, const QString& yFormula,
const QString& zFormula, double ul, double ur, double vl, double vr,
int columns, int rows, bool uPeriodic, bool vPeriodic);
void insertNewData(Table* table, const QString& colName);
Matrix * matrix(){return d_matrix;};
void addMatrixData(Matrix* m);//used to plot matrixes
void addMatrixData(Matrix* m,double xl,double xr,double yl,double yr,double zl,double zr);
void updateMatrixData(Matrix* m);
void addRibbon(Table* table,const QString& xColName,const QString& yColName);
void addRibbon(Table* table,const QString& xColName,const QString& yColName,
double xl, double xr, double yl, double yr, double zl, double zr);
void addData(Table* table, int xCol, int yCol, int zCol, int type = 0);
void loadData(Table* table, int xCol, int yCol, int zCol,
double xl=0.0, double xr=0.0, double yl=0.0, double yr=0.0, double zl=0.0, double zr=0.0, int axis = -1);
PlotType tablePlotType(){return d_table_plot_type;};
void clearData();
bool hasData(){return sp->hasData();};
void updateData(Table* table);
void updateDataXY(Table* table, int xCol, int yCol);
void changeDataColumn(Table* table, const QString& colName, int type = 0);
UserParametricSurface *parametricSurface(){return d_surface;};
UserFunction* userFunction(){return d_func;};
QString formula();
void dropEvent(QDropEvent*);
void dragEnterEvent(QDragEnterEvent*);
bool eventFilter(QObject *object, QEvent *e);
void resizeEvent (QResizeEvent *);
void scaleFonts(double factor);
void setIgnoreFonts(bool ok){ignoreFonts = ok;};
void setFramed();
void setBoxed();
void setNoAxes();
bool isOrthogonal(){return sp->ortho();};
void setOrthogonal(bool on = true){sp->setOrtho(on);};
QStringList axesLabels(){return labels;};
void setAxesLabels(const QStringList& lst);
void resetAxesLabels();
void setXAxisLabel(const QString&);
void setYAxisLabel(const QString&);
void setZAxisLabel(const QString&);
QFont xAxisLabelFont();
QFont yAxisLabelFont();
QFont zAxisLabelFont();
void setXAxisLabelFont(const QFont& fnt);
void setYAxisLabelFont(const QFont& fnt);
void setZAxisLabelFont(const QFont& fnt);
void setXAxisLabelFont(const QStringList& lst);
void setYAxisLabelFont(const QStringList& lst);
void setZAxisLabelFont(const QStringList& lst);
QFont numbersFont();
void setNumbersFont(const QFont& font);
double xStart();
double xStop();
double yStart();
double yStop();
double zStart();
double zStop();
int axisType(int axis){return scaleType[axis];};
void setAxisType(int axis, int type);
int axisNumericFormat(int axis);
int axisNumericPrecision(int axis);
void setAxisNumericFormat(int axis, int format, int precision);
void setScales(double xl, double xr, double yl, double yr, double zl, double zr, int axis = -1);
void updateScales(double xl, double xr, double yl, double yr,
double zl, double zr, int xcol, int ycol);
void updateScalesFromMatrix(double xl,double xr,double yl,double yr,double zl,double zr);
QStringList scaleTicks();
void setTicks(const QStringList& options);
void setXAxisTickLength(double majorLength, double minorLength);
void setYAxisTickLength(double majorLength, double minorLength);
void setZAxisTickLength(double majorLength, double minorLength);
void setAxisTickLength(int axis, double majorLength, double minorLength);
void setLabelsDistance(int val);
int labelsDistance(){return labelsDist;};
QStringList axisTickLengths();
void setTickLengths(const QStringList& lst);
void setPolygonStyle();
void setHiddenLineStyle();
void setWireframeStyle();
void setFilledMeshStyle();
void setDotStyle();
void setBarStyle();
void setFloorData();
void setFloorIsolines();
void setEmptyFloor();
void setMeshLineWidth(double lw);
double meshLineWidth(){if (d_active_curve) return d_active_curve->meshLineWidth(); return 0.0;};
int grids();
void setGrid(int s, bool b);
void setGrid(int grids);
void setLeftGrid(bool b = true);
void setRightGrid(bool b = true);
void setCeilGrid(bool b = true);
void setFloorGrid(bool b = true);
void setFrontGrid(bool b = true);
void setBackGrid(bool b = true);
void setStyle(const QStringList& st);
void customPlotStyle(int style);
void resetNonEmptyStyle();
void setRotation(double xVal,double yVal,double zVal);
void setScale(double xVal,double yVal,double zVal);
void setShift(double xVal,double yVal,double zVal);
double xRotation(){return sp->xRotation();};
double yRotation(){return sp->yRotation();};
double zRotation(){return sp->zRotation();};
double xScale(){return sp->xScale();};
double yScale(){return sp->yScale();};
double zScale(){return sp->zScale();};
double xShift(){return sp->xShift();};
double yShift(){return sp->yShift();};
double zShift(){return sp->zShift();};
double zoom(){return sp->zoom();};
void setZoom(double val);
Qwt3D::PLOTSTYLE plotStyle();
Qwt3D::FLOORSTYLE floorStyle();
Qwt3D::COORDSTYLE coordStyle();
void print();
void print(QPrinter *printer);
void copyImage();
#if QT_VERSION >= 0x040500
void exportImage(QTextDocument *document, int quality, bool transparent,
int dpi, const QSizeF& customSize, int unit, double fontsFactor);
#endif
QPixmap pixmap(int dpi = 0, const QSizeF& customSize = QSizeF(), int unit = FrameWidget::Pixel, double fontsFactor = 1.0);
void exportImage(const QString& fileName, int quality = 100, bool transparent = false, int dpi = 0,
const QSizeF& customSize = QSizeF(), int unit = FrameWidget::Pixel, double fontsFactor = 1.0, int compression = 0);
void exportPDF(const QString& fileName);
void exportVector(const QString& fileName, int textExportMode = 0, int sortMode = 1,
const QSizeF& customSize = QSizeF(), int unit = FrameWidget::Pixel, double fontsFactor = 1.0);
void exportToFile(const QString& fileName);
void save(const QString& fn, const QString& geometry, bool = false);
void zoomChanged(double);
void rotationChanged(double, double, double);
void scaleChanged(double, double, double);
void shiftChanged(double, double, double);
void setDataColors(const QColor& cMin, const QColor& cMax){setDataColorMap(LinearColorMap(cMin, cMax));};
void setDataColorMap(const LinearColorMap& colorMap);
void setDataColorMap(const QString& fileName);
void setDataColorMap(const ColorVector& colors);
void setDataColorMap(const ColorVector& colors, const LinearColorMap& colorMap);
void changeTransparency(double t);
void setTransparency(double t);
double transparency(){return d_alpha;};
QColor meshColor(){return meshCol;};
QColor axesColor(){return axesCol;};
QColor labelColor(){return labelsCol;};
QColor numColor(){return numCol;};
QColor bgColor(){return bgCol;};
QColor gridColor(){return gridCol;};
QString colorMapFile(){return d_color_map_file;};
LinearColorMap colorMap(){return d_color_map;};
LinearColorMap *colorMapPointer(){return &d_color_map;};
static bool openColorMapFile(ColorVector& cv, QString fname);
void setMeshColor(const QColor&);
void setAxesColor(const QColor&);
void setNumbersColor(const QColor&);
void setLabelsColor(const QColor&);
void setBackgroundColor(const QColor&);
void setGridColor(const QColor&);
QFont titleFont(){return titleFnt;};
void setTitleFont(const QFont& font);
QString plotTitle(){return title;};
QColor titleColor(){return titleCol;};
void setTitle(const QStringList& lst);
void setTitle(const QString& s, const QColor& color = QColor(Qt::black), const QFont& font = QFont());
void setResolution(int r);
int resolution(){if (d_active_curve) return d_active_curve->resolution(); return 0;};
void showColorLegend(bool show = true);
bool isLegendOn(){return legendOn;};
void setOptions(bool legend, int r, int dist);
void setOptions(const QStringList& lst);
void update();
double barsRadius();
void setBarRadius(double rad);
bool barLines(){return d_bar_lines;};
void setBarLines(bool lines = true);
bool filledBars(){return d_filled_bars;};
void setFilledBars(bool filled = true);
double pointsSize(){return d_point_size;};
bool smoothPoints(){return d_smooth_points;};
void setDotOptions(double size, bool smooth);
bool smoothCrossHair(){return crossHairSmooth;};
bool boxedCrossHair(){return crossHairBoxed;};
double crossHairRadius(){return crossHairRad;};
double crossHairLinewidth(){return crossHairLineWidth;};
void setCrossOptions(double rad, double linewidth, bool smooth, bool boxed);
void setCrossStyle();
double coneRadius(){return conesRad;};
int coneQuality(){return conesQuality;};
void setConeOptions(double rad, int quality);
void setConeStyle();
PointStyle pointType(){return pointStyle;};
Table* table(){return d_table;};
void showWorksheet();
void setPlotAssociation(const QString& s){plotAssociation = s;};
void setAntialiasing(bool smooth = true);
bool antialiasing(){if (d_active_curve) return d_active_curve->smoothDataMesh(); return false;};
void rotate();
void animate(bool on = true);
bool isAnimated(){return d_timer->isActive();};
void findBestLayout();
bool autoscale(){return d_autoscale;};
void setAutoscale(bool on = true){d_autoscale = on;};
Qwt3D::CoordinateSystem* coordinateSystem() {return sp->coordinates();};
void setScale(int axis, double start, double end, int majorTicks, int minorTicks, Qwt3D::SCALETYPE type);
signals:
void showOptionsDialog();
void modified();
private:
void addHiddenConstantCurve(double xl, double xr, double yl, double yr, double zl, double zr);
void changeScales(double xl, double xr, double yl, double yr, double zl, double zr);
Curve* addCurve();
void removeCurve();
void resetAxesType();
int animation_redraw_wait;
QString d_color_map_file;
LinearColorMap d_color_map;
QTimer *d_timer;
QString title, plotAssociation;
QStringList labels;
QFont titleFnt;
bool legendOn, d_autoscale;
bool d_scale_on_print, d_print_cropmarks;
QVector<int> scaleType;
QColor axesCol, labelsCol, titleCol, meshCol, bgCol, numCol, gridCol;
int labelsDist, legendMajorTicks;
bool ignoreFonts;
Qwt3D::StandardColor* col_;
double d_alpha;
double d_bars_rad;
bool d_filled_bars, d_bar_lines;
double d_point_size, crossHairRad, crossHairLineWidth, conesRad;
bool d_smooth_points;
bool crossHairSmooth, crossHairBoxed;
int conesQuality;
PointStyle pointStyle;
Table *d_table;
Matrix *d_matrix;
Qwt3D::Plot3D* sp;
UserFunction *d_func;
UserParametricSurface *d_surface;
Qwt3D::PLOTSTYLE style_;
PlotType d_table_plot_type;
Curve * d_active_curve;
ConstFunction *d_const_func;
Curve * d_const_curve;
};
class ConstFunction : public Function
{
public:
ConstFunction(Qwt3D::Curve *pw);
double operator()(double x, double y);
};
class UserFunction : public Function
{
public:
UserFunction(const QString& s, Qwt3D::Curve *pw);
double operator()(double x, double y);
QString function(){return formula;};
unsigned int rows(){return d_rows;};
unsigned int columns(){return d_columns;};
void setMesh (unsigned int columns, unsigned int rows);
private:
QString formula;
unsigned int d_rows, d_columns;
};
class UserParametricSurface : public ParametricSurface
{
public:
UserParametricSurface(const QString& xFormula, const QString& yFormula,
const QString& zFormula, Qwt3D::Curve *pw);
Triple operator()(double u, double v);
unsigned int rows(){return d_rows;};
unsigned int columns(){return d_columns;};
void setMesh (unsigned int columns, unsigned int rows);
bool uPeriodic(){return d_u_periodic;};
bool vPeriodic(){return d_v_periodic;};
void setPeriodic (bool u, bool v);
double uStart(){return d_ul;};
double uEnd(){return d_ur;};
double vStart(){return d_vl;};
double vEnd(){return d_vr;};
void setDomain(double ul, double ur, double vl, double vr);
QString xFormula(){return d_x_formula;};
QString yFormula(){return d_y_formula;};
QString zFormula(){return d_z_formula;};
private:
QString d_x_formula, d_y_formula, d_z_formula;
unsigned int d_rows, d_columns;
bool d_u_periodic, d_v_periodic;
double d_ul, d_ur, d_vl, d_vr;
};
#endif // Plot3D_H
Graph3D::sp
Qwt3D::Plot3D * sp
Definition: Graph3D.h:438
Graph3D::yRotation
double yRotation()
Definition: Graph3D.h:242
Graph3D::d_table
Table * d_table
Definition: Graph3D.h:436
Graph3D::d_color_map_file
QString d_color_map_file
File name of the color map used for the data (if any)
Definition: Graph3D.h:407
Graph3D::isLegendOn
bool isLegendOn()
Definition: Graph3D.h:334
Graph3D::axesColor
QColor axesColor()
Definition: Graph3D.h:295
Graph3D::yShift
double yShift()
Definition: Graph3D.h:250
Graph3D::d_active_curve
Curve * d_active_curve
Definition: Graph3D.h:443
Graph3D::crossHairSmooth
bool crossHairSmooth
Definition: Graph3D.h:433
UserParametricSurface
Class for user defined parametric surfaces.
Definition: Graph3D.h:475
ConstFunction
Class for constant z surfaces.
Definition: Graph3D.h:449
UserParametricSurface::columns
unsigned int columns()
Definition: Graph3D.h:483
Graph3D::labelColor
QColor labelColor()
Definition: Graph3D.h:296
Graph3D::setScaleOnPrint
void setScaleOnPrint(bool on)
Definition: Graph3D.h:79
Graph3D::parametricSurface
UserParametricSurface * parametricSurface()
Definition: Graph3D.h:119
Graph3D::d_scale_on_print
bool d_scale_on_print
Definition: Graph3D.h:415
Graph3D::conesQuality
int conesQuality
Definition: Graph3D.h:434
Graph3D::matrix
Matrix * matrix()
Definition: Graph3D.h:95
Graph3D::axisType
int axisType(int axis)
Definition: Graph3D.h:176
UserParametricSurface::xFormula
QString xFormula()
Definition: Graph3D.h:496
Graph3D::d_color_map
LinearColorMap d_color_map
Definition: Graph3D.h:408
UserParametricSurface::uStart
double uStart()
Definition: Graph3D.h:490
Graph3D::zRotation
double zRotation()
Definition: Graph3D.h:243
Graph3D::titleFont
QFont titleFont()
Definition: Graph3D.h:317
Graph3D::setOrthogonal
void setOrthogonal(bool on=true)
Definition: Graph3D.h:144
UserFunction::formula
QString formula
Definition: Graph3D.h:470
UserParametricSurface::zFormula
QString zFormula()
Definition: Graph3D.h:498
Graph3D::smoothCrossHair
bool smoothCrossHair()
Definition: Graph3D.h:357
Graph3D::setAutoscale
void setAutoscale(bool on=true)
Enables/Disables autoscaling using findBestLayout().
Definition: Graph3D.h:387
Graph3D::setDataColors
void setDataColors(const QColor &cMin, const QColor &cMax)
Definition: Graph3D.h:284
Graph3D::resolution
int resolution()
Definition: Graph3D.h:328
Graph3D::crossHairRadius
double crossHairRadius()
Definition: Graph3D.h:359
Graph3D::ignoreFonts
bool ignoreFonts
Definition: Graph3D.h:419
UserFunction::columns
unsigned int columns()
Definition: Graph3D.h:466
Graph3D::antialiasing
bool antialiasing()
Definition: Graph3D.h:377
Graph3D::hasData
bool hasData()
Definition: Graph3D.h:110
Graph3D::scaleType
QVector< int > scaleType
Definition: Graph3D.h:416
Graph3D::PointStyle
PointStyle
Definition: Graph3D.h:71
Graph3D::titleCol
QColor titleCol
Definition: Graph3D.h:417
Graph3D::coneQuality
int coneQuality()
Definition: Graph3D.h:365
Graph3D::pointStyle
PointStyle pointStyle
Definition: Graph3D.h:435
Graph3D::surface
Qwt3D::Plot3D * surface()
Definition: Graph3D.h:76
Graph3D::printCropmarksEnabled
bool printCropmarksEnabled()
Definition: Graph3D.h:81
Graph3D::xShift
double xShift()
Definition: Graph3D.h:249
Graph3D::colorMap
LinearColorMap colorMap()
Definition: Graph3D.h:302
LinearColorMap
A customized QwtLinearColorMap.
Definition: LinearColorMap.h:39
Graph3D::d_filled_bars
bool d_filled_bars
Definition: Graph3D.h:427
Graph3D::d_point_size
double d_point_size
Definition: Graph3D.h:430
Graph3D::d_const_curve
Curve * d_const_curve
Definition: Graph3D.h:445
Graph3D::colorMapPointer
LinearColorMap * colorMapPointer()
Definition: Graph3D.h:303
Graph3D::crossHairLinewidth
double crossHairLinewidth()
Definition: Graph3D.h:360
Graph3D::gridColor
QColor gridColor()
Definition: Graph3D.h:299
Graph3D::barLines
bool barLines()
Definition: Graph3D.h:345
Graph3D::yScale
double yScale()
Definition: Graph3D.h:246
Graph3D::d_timer
QTimer * d_timer
Definition: Graph3D.h:410
Graph3D::setIgnoreFonts
void setIgnoreFonts(bool ok)
Definition: Graph3D.h:135
Graph3D::axesLabels
QStringList axesLabels()
Definition: Graph3D.h:146
Graph3D::d_matrix
Matrix * d_matrix
Definition: Graph3D.h:437
Graph3D::pointsSize
double pointsSize()
Definition: Graph3D.h:353
Graph3D::PlotType
PlotType
Definition: Graph3D.h:70
Graph3D::printCropmarks
void printCropmarks(bool on)
Definition: Graph3D.h:82
Graph3D::numColor
QColor numColor()
Definition: Graph3D.h:297
Graph3D::isOrthogonal
bool isOrthogonal()
Definition: Graph3D.h:143
ApplicationWindow
QtiPlot&#39;s main window.
Definition: ApplicationWindow.h:133
FrameWidget.h
Graph3D::smoothPoints
bool smoothPoints()
Definition: Graph3D.h:354
Graph3D::coneRadius
double coneRadius()
Definition: Graph3D.h:364
Graph3D::xRotation
double xRotation()
Definition: Graph3D.h:241
Graph3D::boxedCrossHair
bool boxedCrossHair()
Definition: Graph3D.h:358
Graph3D::d_smooth_points
bool d_smooth_points
Draw 3D points with smoothed angles.
Definition: Graph3D.h:432
Graph3D::d_func
UserFunction * d_func
Definition: Graph3D.h:439
Graph3D
3D graph widget.
Definition: Graph3D.h:62
Graph3D::titleFnt
QFont titleFnt
Definition: Graph3D.h:413
Graph3D::transparency
double transparency()
Definition: Graph3D.h:292
UserParametricSurface::vEnd
double vEnd()
Definition: Graph3D.h:493
Matrix.h
Graph3D::meshLineWidth
double meshLineWidth()
Definition: Graph3D.h:216
Matrix
Matrix worksheet class.
Definition: Matrix.h:57
Graph3D::tablePlotType
PlotType tablePlotType()
Definition: Graph3D.h:107
Graph3D::meshColor
QColor meshColor()
Definition: Graph3D.h:294
Graph3D::labels
QStringList labels
Definition: Graph3D.h:412
Graph3D::titleColor
QColor titleColor()
Definition: Graph3D.h:320
Graph3D::table
Table * table()
Definition: Graph3D.h:372
Graph3D::setPlotAssociation
void setPlotAssociation(const QString &s)
Definition: Graph3D.h:374
Graph3D::pointType
PointStyle pointType()
Definition: Graph3D.h:369
Graph3D::filledBars
bool filledBars()
Definition: Graph3D.h:347
Graph3D::d_surface
UserParametricSurface * d_surface
Definition: Graph3D.h:440
UserParametricSurface::d_vr
double d_vr
Definition: Graph3D.h:504
Graph3D::xScale
double xScale()
Definition: Graph3D.h:245
UserParametricSurface::uEnd
double uEnd()
Definition: Graph3D.h:491
Graph3D::labelsDistance
int labelsDistance()
Definition: Graph3D.h:197
Graph3D::userFunction
UserFunction * userFunction()
Definition: Graph3D.h:124
FrameWidget::Pixel
Definition: FrameWidget.h:44
Graph3D::scaleOnPrint
bool scaleOnPrint()
Definition: Graph3D.h:78
Graph3D::col_
Qwt3D::StandardColor * col_
Definition: Graph3D.h:420
UserParametricSurface::yFormula
QString yFormula()
Definition: Graph3D.h:497
Graph3D::AxisNumericFormat
AxisNumericFormat
Definition: Graph3D.h:72
Graph3D::zScale
double zScale()
Definition: Graph3D.h:247
Graph3D::d_bars_rad
double d_bars_rad
Definition: Graph3D.h:426
Graph3D::colorMapFile
QString colorMapFile()
Definition: Graph3D.h:301
Graph3D::bgColor
QColor bgColor()
Definition: Graph3D.h:298
Graph3D::d_table_plot_type
PlotType d_table_plot_type
Definition: Graph3D.h:442
Table.h
Graph3D::zoom
double zoom()
Definition: Graph3D.h:253
MdiSubWindow
Base class of all MDI client windows.
Definition: MdiSubWindow.h:51
UserFunction
Class for user defined surfaces.
Definition: Graph3D.h:457
Graph3D::isAnimated
bool isAnimated()
Definition: Graph3D.h:382
UserParametricSurface::d_rows
unsigned int d_rows
Definition: Graph3D.h:502
UserFunction::rows
unsigned int rows()
Definition: Graph3D.h:465
Graph3D::style_
Qwt3D::PLOTSTYLE style_
Definition: Graph3D.h:441
Table
MDI window providing a spreadsheet table with column logic.
Definition: Table.h:57
UserParametricSurface::uPeriodic
bool uPeriodic()
Definition: Graph3D.h:486
Graph3D::d_const_func
ConstFunction * d_const_func
Definition: Graph3D.h:444
Graph3D::plotTitle
QString plotTitle()
Definition: Graph3D.h:319
UserParametricSurface::d_v_periodic
bool d_v_periodic
Definition: Graph3D.h:503
Graph3D::d_alpha
double d_alpha
Transparency.
Definition: Graph3D.h:422
Graph3D::legendOn
bool legendOn
Definition: Graph3D.h:414
Graph3D::legendMajorTicks
int legendMajorTicks
Definition: Graph3D.h:418
Graph3D::autoscale
bool autoscale()
Definition: Graph3D.h:385
UserParametricSurface::vStart
double vStart()
Definition: Graph3D.h:492
Graph3D::animation_redraw_wait
int animation_redraw_wait
Wait this many msecs before redraw 3D plot (used for animations)
Definition: Graph3D.h:405
Graph3D::title
QString title
Definition: Graph3D.h:411
UserFunction::d_rows
unsigned int d_rows
Definition: Graph3D.h:471
Graph3D::zShift
double zShift()
Definition: Graph3D.h:251
UserParametricSurface::rows
unsigned int rows()
Definition: Graph3D.h:482
UserParametricSurface::vPeriodic
bool vPeriodic()
Definition: Graph3D.h:487
Graph3D::coordinateSystem
Qwt3D::CoordinateSystem * coordinateSystem()
Definition: Graph3D.h:389