#include <qwt3d_plot.h>
Inheritance diagram for Plot3D:
Public Slots | |
void | setRotation (double xVal, double yVal, double zVal) |
void | setShift (double xVal, double yVal, double zVal) |
void | setViewportShift (double xVal, double yVal) |
void | setScale (double xVal, double yVal, double zVal) |
void | setZoom (double) |
void | setOrtho (bool) |
void | enableMouse (bool val=true) |
void | disableMouse (bool val=true) |
void | enableKeyboard (bool val=true) |
void | disableKeyboard (bool val=true) |
void | enableLighting (bool val=true) |
void | disableLighting (bool val=true) |
void | setLightRotation (double xVal, double yVal, double zVal, unsigned int idx=0) |
void | setLightShift (double xVal, double yVal, double zVal, unsigned int idx=0) |
virtual bool | savePixmap (QString const &fileName, QString const &format) |
virtual bool | saveVector (QString const &fileName, QString const &format, VectorWriter::TEXTMODE text, VectorWriter::SORTMODE sortmode) |
virtual bool | save (QString const &fileName, QString const &format) |
Signals | |
void | rotationChanged (double xAngle, double yAngle, double zAngle) |
void | shiftChanged (double xShift, double yShift, double zShift) |
void | vieportShiftChanged (double xShift, double yShift) |
void | scaleChanged (double xScale, double yScale, double zScale) |
void | zoomChanged (double) |
void | projectionChanged (bool) |
Public Member Functions | |
Plot3D (QWidget *parent=0, const QGLWidget *shareWidget=0) | |
virtual | ~Plot3D () |
QPixmap | renderPixmap (int w=0, int h=0, bool useContext=false) |
void | updateData () |
void | createCoordinateSystem (Qwt3D::Triple beg, Qwt3D::Triple end) |
Qwt3D::CoordinateSystem * | coordinates () |
Qwt3D::ColorLegend * | legend () |
double | xRotation () const |
double | yRotation () const |
double | zRotation () const |
double | xShift () const |
double | yShift () const |
double | zShift () const |
double | xViewportShift () const |
double | yViewportShift () const |
double | xScale () const |
double | yScale () const |
double | zScale () const |
double | zoom () const |
bool | ortho () const |
void | setPlotStyle (Qwt3D::PLOTSTYLE val) |
Qwt3D::Enrichment * | setPlotStyle (Qwt3D::Enrichment const &val) |
Qwt3D::PLOTSTYLE | plotStyle () const |
Qwt3D::Enrichment * | userStyle () const |
void | setShading (Qwt3D::SHADINGSTYLE val) |
Qwt3D::SHADINGSTYLE | shading () const |
void | setIsolines (int isolines) |
int | isolines () const |
void | setSmoothMesh (bool val) |
bool | smoothDataMesh () const |
void | setBackgroundColor (Qwt3D::RGBA rgba) |
Qwt3D::RGBA | backgroundRGBAColor () const |
void | setMeshColor (Qwt3D::RGBA rgba) |
Qwt3D::RGBA | meshColor () const |
void | setMeshLineWidth (double lw) |
double | meshLineWidth () const |
void | setDataColor (Color *col) |
const Color * | dataColor () const |
virtual Qwt3D::Enrichment * | addEnrichment (Qwt3D::Enrichment const &) |
virtual bool | degrade (Qwt3D::Enrichment *) |
Qwt3D::ParallelEpiped | hull () const |
void | showColorLegend (bool) |
void | setCoordinateStyle (Qwt3D::COORDSTYLE st) |
void | setPolygonOffset (double d) |
double | polygonOffset () const |
void | setTitlePosition (double rely, double relx=0.5, Qwt3D::ANCHOR=Qwt3D::TopCenter) |
void | setTitleFont (const QString &family, int pointSize, int weight=QFont::Normal, bool italic=false) |
void | setTitleColor (Qwt3D::RGBA col) |
void | setTitle (const QString &title) |
void | assignMouse (MouseState xrot, MouseState yrot, MouseState zrot, MouseState xscale, MouseState yscale, MouseState zscale, MouseState zoom, MouseState xshift, MouseState yshift) |
bool | mouseEnabled () const |
void | assignKeyboard (KeyboardState xrot_n, KeyboardState xrot_p, KeyboardState yrot_n, KeyboardState yrot_p, KeyboardState zrot_n, KeyboardState zrot_p, KeyboardState xscale_n, KeyboardState xscale_p, KeyboardState yscale_n, KeyboardState yscale_p, KeyboardState zscale_n, KeyboardState zscale_p, KeyboardState zoom_n, KeyboardState zoom_p, KeyboardState xshift_n, KeyboardState xshift_p, KeyboardState yshift_n, KeyboardState yshift_p) |
bool | keyboardEnabled () const |
void | setKeySpeed (double rot, double scale, double shift) |
void | keySpeed (double &rot, double &scale, double &shift) const |
bool | lightingEnabled () const |
void | illuminate (unsigned light=0) |
void | blowout (unsigned light=0) |
void | setMaterialComponent (GLenum property, double r, double g, double b, double a=1.0) |
void | setMaterialComponent (GLenum property, double intensity) |
void | setShininess (double exponent) |
void | setLightComponent (GLenum property, double r, double g, double b, double a=1.0, unsigned light=0) |
void | setLightComponent (GLenum property, double intensity, unsigned light=0) |
double | xLightRotation (unsigned idx=0) const |
double | yLightRotation (unsigned idx=0) const |
double | zLightRotation (unsigned idx=0) const |
double | xLightShift (unsigned idx=0) const |
double | yLightShift (unsigned idx=0) const |
double | zLightShift (unsigned idx=0) const |
bool | hasData () const |
Protected Types | |
typedef std::list< Qwt3D::Enrichment * > | EnrichmentList |
typedef EnrichmentList::iterator | ELIT |
enum | OBJECTS { DataObject, LegendObject, NormalObject, DisplayListSize } |
Protected Member Functions | |
void | initializeGL () |
void | paintGL () |
void | resizeGL (int w, int h) |
void | mousePressEvent (QMouseEvent *e) |
void | mouseReleaseEvent (QMouseEvent *e) |
void | mouseMoveEvent (QMouseEvent *e) |
void | wheelEvent (QWheelEvent *e) |
void | keyPressEvent (QKeyEvent *e) |
virtual void | calculateHull ()=0 |
virtual void | createData ()=0 |
virtual void | createEnrichment (Qwt3D::Enrichment &) |
virtual void | createEnrichments () |
void | createCoordinateSystem () |
void | setHull (Qwt3D::ParallelEpiped p) |
bool | initializedGL () const |
Protected Attributes | |
Qwt3D::CoordinateSystem | coordinates_p |
Qwt3D::Color * | datacolor_p |
Qwt3D::Enrichment * | userplotstyle_p |
EnrichmentList | elist_p |
std::vector< GLuint > | displaylists_p |
Qwt3D::Data * | actualData_p |
Classes | |
struct | Light |
|
This should be the first call in your derived classes constructors. |
|
Release allocated resources |
|
Reimplemented from QGLWidget |
|
Recalculate data. Update OpenGL data representation |
|
Create a coordinate system with generating corners beg and end |
|
Returns pointer to CoordinateSystem object.
|
|
Returns pointer to ColorLegend object.
|
|
Returns rotation around X axis [-360..360] (some angles are equivalent).
|
|
Returns rotation around Y axis [-360..360] (some angles are equivalent).
|
|
Returns rotation around Z axis [-360..360] (some angles are equivalent).
|
|
Returns shift along X axis (object coordinates).
|
|
Returns shift along Y axis (object coordinates).
|
|
Returns shift along Z axis (object coordinates).
|
|
Returns relative shift [-1..1] along X axis (view coordinates).
|
|
Returns relative shift [-1..1] along Y axis (view coordinates).
|
|
Returns scaling for X values [0..inf].
|
|
Returns scaling for Y values [0..inf].
|
|
Returns scaling for Z values [0..inf].
|
|
Returns zoom (0..inf).
|
|
Returns orthogonal (true) or perspective (false) projection.
|
|
Set plotstyle to Qwt3D::USER and an associated enrichment object. |
|
Returns plotting style |
|
Returns current Enrichment object used for plotting styles (if set, zero else).
|
|
Returns shading style.
|
|
Set number of isolines. The lines are equidistant between minimal and maximal Z value |
|
Returns number of isolines.
|
|
Enables/disables smooth data mesh lines. Default is false.
|
|
True if mesh antialiasing is on.
|
|
Sets widgets background color.
|
|
Returns the widgets background color.
|
|
Sets color for data mesh.
|
|
Returns color for data mesh.
|
|
Sets line width for data mesh.
|
|
Returns line width for data mesh.
|
|
Sets new data color object. assign a new coloring object for the data. |
|
Returns data color object.
|
|
Add an Enrichment.
|
|
Remove an Enrichment.
|
|
Returns rectangular hull.
|
|
Show a color legend |
|
Sets style of coordinate system.
|
|
Set Polygon offset. The function affects the OpenGL rendering process. Try different values for surfaces with polygons only and with mesh and polygons |
|
Returns relative value for polygon offset [0..1].
|
|
Set relative caption position (0.5,0.5) means, the anchor point lies in the center of the screen |
|
Set caption font |
|
Set caption color.
|
|
Set caption text (one row only).
|
|
Sets the key/mousebutton combination for data/coordinatesystem moves inside the widget
rotate around x axis: Qt::LeftButton rotate around y axis: Qt::LeftButton | Qt::ShiftButton rotate around z axis: Qt::LeftButton scale x: Qt::LeftButton | Qt::AltButton scale y: Qt::LeftButton | Qt::AltButton scale z: Qt::LeftButton | Qt::AltButton | Qt::ShiftButton zoom: Qt::LeftButton | Qt::AltButton | Qt::ControlButton shifting along x: Qt::LeftButton | Qt::ControlButton shifting along y: Qt::LeftButton | Qt::ControlButton mouseMoveEvent() evaluates this function - if overridden, their usefulness becomes somehow limited |
|
Returns true, if the widget accept mouse input from the user.
|
|
Sets the keybutton combination for data/coordinatesystem moves inside the widget
rotate around x axis: [Key_Down, Key_Up] rotate around y axis: SHIFT+[Key_Right, Key_Left] rotate around z axis: [Key_Right, Key_Left] scale x: ALT+[Key_Right, Key_Left] scale y: ALT+[Key_Up, Key_Down] scale z: ALT+SHIFT[Key_Down, Key_Up] zoom: ALT+CTRL+[Key_Down, Key_Up] shifting along x: CTRL+[Key_Right, Key_Left] shifting along z: CTRL+[Key_Down, Key_Up] |
|
Returns true, if the widget accept keyboard input from the user |
|
Sets speed for keyboard driven transformations. Values < 0 are ignored. Default is (3,5,5) |
|
Gets speed for keyboard driven transformations.
|
|
Returns true, if Lighting is enabled, false else |
|
Turn light on.
|
|
Turn light off.
|
|
Sets GL material properties |
|
This function is for convenience. It sets GL material properties with the equal r,g,b values and a blending alpha with value 1.0 |
|
Sets GL shininess |
|
Sets GL light properties for light 'light' |
|
This function is for convenience. It sets GL light properties with the equal r,g,b values and a blending alpha with value 1.0 |
|
Returns Light 'idx' rotation around X axis [-360..360] (some angles are equivalent).
|
|
Returns Light 'idx' rotation around Y axis [-360..360] (some angles are equivalent).
|
|
Returns Light 'idx' rotation around Z axis [-360..360] (some angles are equivalent).
|
|
Returns shift of Light 'idx 'along X axis (object coordinates).
|
|
Returns shift of Light 'idx 'along Y axis (object coordinates).
|
|
Returns shift of Light 'idx 'along Z axis (object coordinates).
|
|
Returns true if valid data available, false else.
|
|
Emitted, if the rotation is changed.
|
|
Emitted, if the shift is changed.
|
|
Emitted, if the viewport shift is changed.
|
|
Emitted, if the scaling is changed.
|
|
Emitted, if the zoom is changed.
|
|
Emitted, if the projection mode is changed.
|
|
Set the rotation angle of the object. If you look along the respective axis towards ascending values, the rotation is performed in mathematical negative sense
|
|
Set the shift in object (world) coordinates.
|
|
Performs shifting along screen axes. The shift moves points inside a sphere, which encloses the unscaled and unzoomed data by multiples of the spheres diameter
|
|
Set the scale in object (world) coordinates.
|
|
Set the (zoom in addition to scale).
|
|
Set up ortogonal or perspective mode and updates widget |
|
Enable mouse input. The function has no effect if you derive from Plot3D and overrides the mouse Function too careless. In this case check first against mouseEnabled() in your version of mouseMoveEvent() and wheelEvent(). A more fine grained input control can be achieved by combining assignMouse() with enableMouse(). |
|
Disable mouse input.
|
|
Enable keyboard input. The function has no effect if you derive from Plot3D and overrides the keyboard Functions too careless. In this case check first against keyboardEnabled() in your version of keyPressEvent() A more fine grained input control can be achieved by combining assignKeyboard() with enableKeyboard(). |
|
Disable keyboard input.
|
|
Turn Lighting on or off.
|
|
Turn Lighting on or off.
|
|
Saves content to pixmap format |
|
Saves content to vector format.
|
|
Saves content. Saves content in one of the registered output formats. To modify the behaviour for more complex output handling use IO::outputHandler. |
|
Set up the OpenGL rendering state |
|
Paint the widgets content. |
|
Set up the OpenGL view port |
|
Standard mouse button Function. Prepares the call to mouseMoveEvent
|
|
Standard mouse button Function. Completes the call to mouseMoveEvent
|
|
Standard mouse button Function
|
|
Standard wheel Function - zoom (wheel only) or z-scale (shift+wheel) |
|
Create a coordinate system from data |