libkpl  5.0
A Library for Graphical Presentation of Data Sets and Functions
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ThreeDItem Class Reference

3D item class. More...

#include <threeditem.h>

Inheritance diagram for ThreeDItem:
Inheritance graph
[legend]

Public Types

enum  Mode3D { AlongX, AlongZ, Grid }
 3D mode. More...
 
- Public Types inherited from FrameItem
enum  GridMode {
  FrameOnly, Axes, AxesWithLabels, Grid,
  GridWithLabels
}
 Grid mode. More...
 
enum  { Type = UserType + Frame }
 Specific QGraphicsItem type number for function type() More...
 
- Public Types inherited from KplItem
enum  FillStyle {
  NoBrush, SolidPattern, HorPattern, VerPattern,
  CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern
}
 Fill styles. More...
 
enum  ItemType {
  Frame = 1, Array, Function, ParFunction,
  Spline, Array3D, Function3D, Legend,
  Text, Line, Arrow, Arc,
  Rectangle, Ellipse, Image, ScaleBar
}
 Item types. More...
 
enum  PenType { FramePen, GridPen, DataPen }
 Pen types. More...
 
enum  Symbol {
  Invisible = -17, FilledOctagon, FilledHourglass, FilledTriangle,
  FilledSquare, FilledDiamond, FilledCircle, Umbrella,
  Ypsilon, Plus, Cross, OpenOctagon,
  OpenHourglass, OpenTriangle, OpenSquare, OpenDiamond,
  Dot, OpenCircle, SolidLine, DashLine1,
  DashLine2, DotLine1, DashLine3, DashDotLine,
  DashLine4, DashLine5, DotLine2
}
 Symbol types. More...
 

Public Member Functions

 ThreeDItem (double x0=4, double y0=3, double width=15, double height=10, unsigned colFrame=0, unsigned colGrid=0, unsigned colData=0, bool logX=false, bool logY=false, bool logZ=false, GridMode gridMode=AxesWithLabels, Mode3D mode3D=Grid, double xMax=15, double yMax=10, double zMax=15, const QString &textX="", const QString &textY="", const QString &textZ="", const QString &header="", double relSize=1, int numDigX=-1, int numDigY=-1, int numDigZ=-1, int minTicX=5, int minTicY=2, int minTicZ=5, int expX=0, int expY=0, int expZ=0, double xMin=0, double yMin=0, double zMin=0, double xTic=5, double yTic=2, double zTic=5, double deltaX=0, double deltaZ=0, double phi=20, double theta=-20, double boxX=7.5, double boxY=7.5, double boxZ=7.5, double xRef=7.5, double yRef=4, double fx=1, double fy=1, double fz=1, bool showFrame=true, bool collapsed=false, bool visible=true)
 Constructor. More...
 
 ThreeDItem (const ThreeDItem &a)
 Copy constructor. More...
 
 ThreeDItem (const KConfigGroup *plo, double x0, double y0, double width, double height, unsigned colorFrame, unsigned colorGrid, unsigned colorData, GridMode gridMode)
 Constructor. More...
 
 ~ThreeDItem ()
 Destructor. More...
 
virtual QRectF boundingRect () const
 Calculates bounding rectangle. More...
 
double boxX () const
 Returns x box width in cm. More...
 
double boxY () const
 Returns y box width in cm. More...
 
double boxZ () const
 Returns z box width in cm. More...
 
unsigned colorData () const
 Returns color for data. More...
 
double deltaX () const
 Returns x step size of grid. More...
 
double deltaZ () const
 Returns z step size of grid. More...
 
void exportTable (QTextStream &stream, char separator, char format, int precision) const
 Exports value table to file. More...
 
int expZ () const
 Returns logarithm of normalization factor for z axis. More...
 
double fX () const
 Returns normalization factor for x values. More...
 
double fY () const
 Returns normalization factor for y values. More...
 
double fZ () const
 Returns normalization factor for z values. More...
 
bool logZ () const
 Returns true for logarithmic z axis. More...
 
int minTicZ () const
 Returns number of intervals between major tics of z axis. More...
 
Mode3D mode3D () const
 Returns 0 for lines parallel to x, 1 for lines parallel to z, 2 for x,z grid.
 
int numDigZ () const
 Returns number of digits for z axis. More...
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 Paints item. More...
 
void paintCond (QPainter *painter, PSGraph *ps=0) const
 Paints or calculates bounding area. More...
 
double phi () const
 Returns angle of rotation about y axis in deg. More...
 
void setBoxX (double width)
 Sets x box width in cm. More...
 
void setBoxY (double width)
 Sets y box width in cm. More...
 
void setBoxZ (double width)
 Sets z box width in cm. More...
 
void setColorData (unsigned color)
 Sets color for data. More...
 
void setDeltaX (double dx)
 Sets x step size of grid. More...
 
void setDeltaZ (double dz)
 Sets z step size of grid. More...
 
void setExpZ (int e)
 Sets exponent of z normalization factor. More...
 
void setFX (double fx)
 Sets x normalization factor. More...
 
void setFY (double fy)
 Sets y normalization factor. More...
 
void setFZ (double fz)
 Sets z normalization factor. More...
 
void setLogZ (bool logZ)
 Sets logarithmic mode of z axis. More...
 
void setMinTicZ (int minTicZ)
 Sets number of intervals between major tics of z axis. More...
 
void setMode3D (Mode3D mode3D)
 Sets 3D mode. More...
 
void setNumDigZ (int numDigZ)
 Sets number of digits for z axis. More...
 
void setPhi (double phi)
 Sets angle of rotation about y axis. More...
 
void setProperties (const QTransform &m)
 Sets properties according to transformation matrix. More...
 
void setShowFrame (bool showFrame)
 Sets frame mode. More...
 
void setTextZ (const QString &text)
 Sets z axis text. More...
 
void setTheta (double theta)
 Sets angle of rotation about y axis. More...
 
void setXRef (double xRef)
 Sets x position of center of box bottom plane. More...
 
void setYRef (double yRef)
 Sets y position of center of box bottom plane. More...
 
void setZMax (double zMax)
 Sets upper z data limit. More...
 
void setZMin (double zMin)
 Sets lower z data limit. More...
 
void setZTic (double zTic)
 Sets z tic distance. More...
 
bool showFrame () const
 Returns true for shown frame. More...
 
QString textZ () const
 Returns z axis text. More...
 
double theta () const
 Returns angle of rotation about y axis in deg. More...
 
void update ()
 Applies changes and forces redrawing. More...
 
void writePlo (KConfigGroup *plo) const
 Writes into plot file. More...
 
double xRef () const
 Returns x position of center of box bottom plane. More...
 
double yRef () const
 Returns y position of center of box bottom plane. More...
 
double ** yValues () const
 Returns pointer to y value array. More...
 
double zMax () const
 Returns upper z data limit user units. More...
 
double zMin () const
 Returns lower z data limit user units. More...
 
double zTic () const
 Returns distance between major tics of z axis. More...
 
- Public Member Functions inherited from FrameItem
 FrameItem (double x0=4, double y0=3, double width=15, double height=10, unsigned colorFrame=0, unsigned colorGrid=0, bool logX=false, bool logY=false, GridMode gridMode=AxesWithLabels, double xMax=15, double yMax=10, const QString &textX="", const QString &textY="", const QString &header="", double relSize=1, int numDigX=-1, int numDigY=-1, int minTicX=5, int minTicY=2, int expX=0, int expY=0, double xMin=0, double yMin=0, double xTic=5, double yTic=2, bool collapsed=false, bool visible=true, double xOffset=0, double yOffset=0, bool xBottom=true, bool xTop=false, bool yLeft=true, bool yRight=false)
 Constructor. More...
 
 FrameItem (const FrameItem &a)
 Copy constructor. More...
 
 FrameItem (const KConfigGroup *plo, double x0=4, double y0=3, double width=15, double height=10, unsigned colorFrame=0, unsigned colorGrid=0, GridMode gridMode=AxesWithLabels)
 Constructor. More...
 
virtual ~FrameItem ()
 Destructor. More...
 
void autoScale (double xmi, double xma, double fx, double ymi, double yma, double fy)
 Calculates and sets the scaling parameters. More...
 
void autoScale (bool autoNorm=true)
 Calculates and sets the scaling parameters. More...
 
bool calcAutoScale (bool autoNorm, const QList< QGraphicsItem * > &items, double &fx, double &fy)
 Calculates scaling parameters for a frame item and all its child items. More...
 
QRectF clipRect () const
 Returns clipping rectangle. More...
 
unsigned colorFrame () const
 Returns color for frame and labels. More...
 
unsigned colorGrid () const
 Returns color for grids and tics. More...
 
int expX () const
 Returns logarithm of normalization factor for x axis. More...
 
int expY () const
 Returns logarithm of normalization factor for y axis. More...
 
GridMode gridMode () const
 Returns grid mode. More...
 
QString header () const
 Returns heading text. More...
 
double height () const
 Returns height in cm. More...
 
bool collapsed () const
 Returns collapse state for list view. More...
 
bool logX () const
 Returns true for logarithmic x axis. More...
 
bool logY () const
 Returns true for logarithmic y axis. More...
 
QPointF mapFromUser (const QPointF &p) const
 Maps from user to pixel coordinates. More...
 
QPointF mapToUser (const QPointF &p) const
 Maps from pixel to user coordinates. More...
 
QRectF mapToUser (const QRectF &rect) const
 Maps from pixel to user coordinates. More...
 
int minTicX () const
 Returns number of intervals between major tics of x axis. More...
 
int minTicY () const
 Returns number of intervals between major tics of y axis. More...
 
double normX () const
 Returns normalization factor for x values. More...
 
double normY () const
 Returns normalization factor for y values. More...
 
int numDigX () const
 Returns number of digits for x axis. More...
 
int numDigY () const
 Returns number of digits for y axis. More...
 
QPointF rectPos () const
 Returns position in cm units. More...
 
void setColorFrame (unsigned color)
 Sets color for frame and labels. More...
 
void setColorGrid (unsigned color)
 Sets color for grids and tics. More...
 
void setExpX (int expX)
 Sets exponent of x normalization factor. More...
 
void setExpY (int expY)
 Sets exponent of y normalization factor. More...
 
void setGridMode (GridMode gridMode)
 Sets grid mode. More...
 
void setHeight (double height)
 Sets height. More...
 
void setLogX (bool logX)
 Sets logarithmic mode of x axis. More...
 
void setLogY (bool logY)
 Sets logarithmic mode of y axis. More...
 
void setMinTicX (int minTicX)
 Sets number of intervals between major tics of x axis. More...
 
void setMinTicY (int minTicY)
 Sets number of intervals between major tics of y axis. More...
 
void setNumDigX (int numDigX)
 Sets number of digits for x axis. More...
 
void setNumDigY (int numDigY)
 Sets number of digits for y axis. More...
 
void setProperties (const QTransform &m)
 Sets properties according to transformation matrix. More...
 
void setHeader (const QString &text)
 Sets heading text. More...
 
void setTextX (const QString &text)
 Sets x axis text. More...
 
void setTextY (const QString &text)
 Sets y axis text. More...
 
void setWidth (double width)
 Sets width. More...
 
void setX0 (double x0)
 Sets left page margin. More...
 
void setXBottom (bool xBottom)
 Sets bottom side label mode. More...
 
void setXMax (double xMax)
 Sets upper x data limit. More...
 
void setXMin (double xMin)
 Sets lower x data limit. More...
 
void setXOffset (double xOffset)
 Sets x offset. More...
 
void setXTic (double xTic)
 Sets x tick distance. More...
 
void setXTop (bool xTop)
 Sets top side label mode. More...
 
void setY0 (double y0)
 Sets bottom page margin. More...
 
void setYLeft (bool yLeft)
 Sets left side label mode. More...
 
void setYMax (double yMax)
 Sets upper y data limit. More...
 
void setYMin (double yMin)
 Sets lower y data limit. More...
 
void setYOffset (double yOffset)
 Sets y offset. More...
 
void setYRight (bool yRight)
 Sets right side label mode. More...
 
void setYTic (double yTic)
 Sets y tick distance. More...
 
QPointF steps () const
 Returns user units steps for one pixel steps. More...
 
QString textX () const
 Returns x axis text. More...
 
QString textY () const
 Returns y axis text. More...
 
virtual int type () const
 Returns specific QGraphicsItem type number. More...
 
void toggleCollapsed ()
 Toggles collapse state. More...
 
void update ()
 Applies changes and forces redrawing. More...
 
void updatePos (QPointF p)
 Sets position. More...
 
bool valid (double x, double y) const
 Checks coordinates for validity. More...
 
double width () const
 Returns width in cm. More...
 
void writePlo (KConfigGroup *plo) const
 Writes into plot file. More...
 
double x0 () const
 Returns left page margin in cm. More...
 
bool xBottom () const
 Returns true for x axis labels on bottom side. More...
 
double xMax () const
 Returns x value of right data window margin in user units. More...
 
double xMin () const
 Returns x value of left data window margin in user units. More...
 
double xOffset () const
 Returns offset for first major x tick. More...
 
double xTic () const
 Returns distance between major tics of x axis. More...
 
bool xTop () const
 Returns true for x axis labels on top side. More...
 
double y0 () const
 
bool yLeft () const
 Returns true for y axis labels on left side. More...
 
bool yRight () const
 Returns true for y axis labels on right side. More...
 
double yMax () const
 Returns y value of upper data window margin in user units. More...
 
double yMin () const
 Returns y value of lower data window margin in user units. More...
 
double yOffset () const
 Returns offset for first major y tick. More...
 
double yTic () const
 Returns distance between major tics of y axis. More...
 
- Public Member Functions inherited from KplItem
 KplItem (double relSize=1)
 Constructor. More...
 
 KplItem (const KplItem &a)
 Copy constructor. More...
 
 KplItem (const KConfigGroup *plo)
 Constructor. More...
 
virtual ~KplItem ()
 Destructor. More...
 
void readPlo (const KConfigGroup *plo)
 Initializes corresponding to plot file. More...
 
double relSize () const
 Returns relative size of item. More...
 
void setRelSize (double relSize)
 Sets relative size of item. More...
 
void writePlo (KConfigGroup *plo, bool visible=true) const
 Writes into plot file. More...
 
- Public Member Functions inherited from QGraphicsRectItem
 QGraphicsRectItem (QGraphicsItem *parent)
 
 QGraphicsRectItem (const QRectF &rect, QGraphicsItem *parent)
 
 QGraphicsRectItem (qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent)
 
QRectF rect () const
 
void setRect (const QRectF &rectangle)
 
void setRect (qreal x, qreal y, qreal width, qreal height)
 
virtual QPainterPath shape () const
 
virtual bool contains (const QPointF &point) const
 
virtual bool isObscuredBy (const QGraphicsItem *item) const
 
virtual QPainterPath opaqueArea () const
 
- Public Member Functions inherited from QAbstractGraphicsShapeItem
 QAbstractGraphicsShapeItem (QGraphicsItem *parent)
 
QPen pen () const
 
void setPen (const QPen &pen)
 
QBrush brush () const
 
void setBrush (const QBrush &brush)
 
- Public Member Functions inherited from QGraphicsItem
 QGraphicsItem (QGraphicsItem *parent)
 
QGraphicsScenescene () const
 
QGraphicsItemparentItem () const
 
QGraphicsItemtopLevelItem () const
 
QGraphicsObjectparentObject () const
 
QGraphicsWidgetparentWidget () const
 
QGraphicsWidgettopLevelWidget () const
 
QGraphicsWidgetwindow () const
 
QGraphicsItempanel () const
 
void setParentItem (QGraphicsItem *newParent)
 
QList< QGraphicsItem * > children () const
 
QList< QGraphicsItem * > childItems () const
 
bool isWidget () const
 
bool isWindow () const
 
bool isPanel () const
 
QGraphicsObjecttoGraphicsObject ()
 
const QGraphicsObjecttoGraphicsObject () const
 
QGraphicsItemGroupgroup () const
 
void setGroup (QGraphicsItemGroup *group)
 
GraphicsItemFlags flags () const
 
void setFlag (GraphicsItemFlag flag, bool enabled)
 
void setFlags (GraphicsItemFlags flags)
 
CacheMode cacheMode () const
 
void setCacheMode (CacheMode mode, const QSize &logicalCacheSize)
 
PanelModality panelModality () const
 
void setPanelModality (PanelModality panelModality)
 
bool isBlockedByModalPanel (QGraphicsItem **blockingPanel) const
 
QString toolTip () const
 
void setToolTip (const QString &toolTip)
 
QCursor cursor () const
 
void setCursor (const QCursor &cursor)
 
bool hasCursor () const
 
void unsetCursor ()
 
bool isVisible () const
 
bool isVisibleTo (const QGraphicsItem *parent) const
 
void setVisible (bool visible)
 
void hide ()
 
void show ()
 
bool isEnabled () const
 
void setEnabled (bool enabled)
 
bool isSelected () const
 
void setSelected (bool selected)
 
bool acceptDrops () const
 
void setAcceptDrops (bool on)
 
qreal opacity () const
 
qreal effectiveOpacity () const
 
void setOpacity (qreal opacity)
 
QGraphicsEffectgraphicsEffect () const
 
void setGraphicsEffect (QGraphicsEffect *effect)
 
Qt::MouseButtons acceptedMouseButtons () const
 
void setAcceptedMouseButtons (Qt::MouseButtons buttons)
 
bool acceptsHoverEvents () const
 
void setAcceptsHoverEvents (bool enabled)
 
bool acceptHoverEvents () const
 
void setAcceptHoverEvents (bool enabled)
 
bool acceptTouchEvents () const
 
void setAcceptTouchEvents (bool enabled)
 
bool filtersChildEvents () const
 
void setFiltersChildEvents (bool enabled)
 
bool handlesChildEvents () const
 
void setHandlesChildEvents (bool enabled)
 
bool isActive () const
 
void setActive (bool active)
 
bool hasFocus () const
 
void setFocus (Qt::FocusReason focusReason)
 
void clearFocus ()
 
QGraphicsItemfocusProxy () const
 
void setFocusProxy (QGraphicsItem *item)
 
QGraphicsItemfocusItem () const
 
void grabMouse ()
 
void ungrabMouse ()
 
void grabKeyboard ()
 
void ungrabKeyboard ()
 
QPointF pos () const
 
qreal x () const
 
void setX (qreal x)
 
qreal y () const
 
void setY (qreal y)
 
QPointF scenePos () const
 
void setPos (const QPointF &pos)
 
void setPos (qreal x, qreal y)
 
void moveBy (qreal dx, qreal dy)
 
void ensureVisible (const QRectF &rect, int xmargin, int ymargin)
 
void ensureVisible (qreal x, qreal y, qreal w, qreal h, int xmargin, int ymargin)
 
QMatrix matrix () const
 
QMatrix sceneMatrix () const
 
void setMatrix (const QMatrix &matrix, bool combine)
 
void resetMatrix ()
 
QTransform transform () const
 
QTransform sceneTransform () const
 
QTransform deviceTransform (const QTransform &viewportTransform) const
 
QTransform itemTransform (const QGraphicsItem *other, bool *ok) const
 
void setTransform (const QTransform &matrix, bool combine)
 
void resetTransform ()
 
void rotate (qreal angle)
 
void scale (qreal sx, qreal sy)
 
void shear (qreal sh, qreal sv)
 
void translate (qreal dx, qreal dy)
 
void setRotation (qreal angle)
 
qreal rotation () const
 
void setScale (qreal factor)
 
qreal scale () const
 
QList< QGraphicsTransform * > transformations () const
 
void setTransformations (const QList< QGraphicsTransform * > &transformations)
 
QPointF transformOriginPoint () const
 
void setTransformOriginPoint (const QPointF &origin)
 
void setTransformOriginPoint (qreal x, qreal y)
 
virtual void advance (int phase)
 
qreal zValue () const
 
void setZValue (qreal z)
 
void stackBefore (const QGraphicsItem *sibling)
 
QRectF childrenBoundingRect () const
 
QRectF sceneBoundingRect () const
 
bool isClipped () const
 
QPainterPath clipPath () const
 
virtual bool collidesWithItem (const QGraphicsItem *other, Qt::ItemSelectionMode mode) const
 
virtual bool collidesWithPath (const QPainterPath &path, Qt::ItemSelectionMode mode) const
 
QList< QGraphicsItem * > collidingItems (Qt::ItemSelectionMode mode) const
 
bool isObscured (const QRectF &rect) const
 
bool isObscured (qreal x, qreal y, qreal w, qreal h) const
 
QRegion boundingRegion (const QTransform &itemToDeviceTransform) const
 
qreal boundingRegionGranularity () const
 
void setBoundingRegionGranularity (qreal granularity)
 
void update (const QRectF &rect)
 
void update (qreal x, qreal y, qreal width, qreal height)
 
void scroll (qreal dx, qreal dy, const QRectF &rect)
 
QPointF mapToItem (const QGraphicsItem *item, const QPointF &point) const
 
QPointF mapToParent (const QPointF &point) const
 
QPointF mapToScene (const QPointF &point) const
 
QPolygonF mapToItem (const QGraphicsItem *item, const QRectF &rect) const
 
QPolygonF mapToParent (const QRectF &rect) const
 
QPolygonF mapToScene (const QRectF &rect) const
 
QRectF mapRectToItem (const QGraphicsItem *item, const QRectF &rect) const
 
QRectF mapRectToParent (const QRectF &rect) const
 
QRectF mapRectToScene (const QRectF &rect) const
 
QPolygonF mapToItem (const QGraphicsItem *item, const QPolygonF &polygon) const
 
QPolygonF mapToParent (const QPolygonF &polygon) const
 
QPolygonF mapToScene (const QPolygonF &polygon) const
 
QPainterPath mapToItem (const QGraphicsItem *item, const QPainterPath &path) const
 
QPainterPath mapToParent (const QPainterPath &path) const
 
QPainterPath mapToScene (const QPainterPath &path) const
 
QPointF mapFromItem (const QGraphicsItem *item, const QPointF &point) const
 
QPointF mapFromParent (const QPointF &point) const
 
QPointF mapFromScene (const QPointF &point) const
 
QPolygonF mapFromItem (const QGraphicsItem *item, const QRectF &rect) const
 
QPolygonF mapFromParent (const QRectF &rect) const
 
QPolygonF mapFromScene (const QRectF &rect) const
 
QRectF mapRectFromItem (const QGraphicsItem *item, const QRectF &rect) const
 
QRectF mapRectFromParent (const QRectF &rect) const
 
QRectF mapRectFromScene (const QRectF &rect) const
 
QPolygonF mapFromItem (const QGraphicsItem *item, const QPolygonF &polygon) const
 
QPolygonF mapFromParent (const QPolygonF &polygon) const
 
QPolygonF mapFromScene (const QPolygonF &polygon) const
 
QPainterPath mapFromItem (const QGraphicsItem *item, const QPainterPath &path) const
 
QPainterPath mapFromParent (const QPainterPath &path) const
 
QPainterPath mapFromScene (const QPainterPath &path) const
 
QPointF mapToItem (const QGraphicsItem *item, qreal x, qreal y) const
 
QPointF mapToParent (qreal x, qreal y) const
 
QPointF mapToScene (qreal x, qreal y) const
 
QPolygonF mapToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QPolygonF mapToParent (qreal x, qreal y, qreal w, qreal h) const
 
QPolygonF mapToScene (qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectToParent (qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectToScene (qreal x, qreal y, qreal w, qreal h) const
 
QPointF mapFromItem (const QGraphicsItem *item, qreal x, qreal y) const
 
QPointF mapFromParent (qreal x, qreal y) const
 
QPointF mapFromScene (qreal x, qreal y) const
 
QPolygonF mapFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QPolygonF mapFromParent (qreal x, qreal y, qreal w, qreal h) const
 
QPolygonF mapFromScene (qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectFromParent (qreal x, qreal y, qreal w, qreal h) const
 
QRectF mapRectFromScene (qreal x, qreal y, qreal w, qreal h) const
 
bool isAncestorOf (const QGraphicsItem *child) const
 
QGraphicsItemcommonAncestorItem (const QGraphicsItem *other) const
 
bool isUnderMouse () const
 
QVariant data (int key) const
 
void setData (int key, const QVariant &value)
 
Qt::InputMethodHints inputMethodHints () const
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
void installSceneEventFilter (QGraphicsItem *filterItem)
 
void removeSceneEventFilter (QGraphicsItem *filterItem)
 

Protected Types

enum  Axis { X, Y, Z }
 3D mode. More...
 

Protected Member Functions

void axis3D (QPainter *painter, double vMin, double vMax, double tic, int minTic, double f, double scale, double xAxis, double zAxis, double ticLen, int numDig, Axis axis, bool log, PSGraph *ps=0) const
 Plots 3D axis. More...
 
void drawText (QPainter *painter, const QString &text, double x, double y, TextItem::Alignment alignment, PSGraph *ps, double dir=0) const
 Plots text. More...
 
void frame3D (QPainter *painter, int iBack, PSGraph *ps=0) const
 Plots 3D frame. More...
 
void line3D (QPainter *painter, double x1, double y1, double z1, double x2, double y2, double z2, PSGraph *ps=0) const
 Draws line in 3D space. More...
 
void plotArray3D (QPainter *painter, PSGraph *ps=0) const
 Plots 3D data. More...
 
void plot3D (QPainter *painter, bool xArray, bool yArray, bool zArray, const double *xData, const double *yData, const double *zData, double xScale, double yScale, double zScale, bool firstLine, int n, double xOffset, double yOffset, double *vertex, PSGraph *ps=0) const
 Plots curve in 3D space. More...
 
void plotArray (QPainter *painter, const double *x, const double *y, int n, PSGraph *ps=0) const
 Plots array. More...
 
void raster3d (QPainter *painter, PSGraph *ps=0) const
 Draws frame and axes of 3D plot. More...
 
void setProperties ()
 Sets properties according to transformation matrix. More...
 
double xFrom3d (double x, double z) const
 Calculates 2D x value. More...
 
double yFrom3d (double x, double y, double z) const
 Calculates 2D y value. More...
 
- Protected Member Functions inherited from FrameItem
void drawText (QPainter *painter, const QString &text, double x, double y, TextItem::Alignment alignment, double dir=0) const
 Plots text. More...
 
double incLog (double &x, double f) const
 Increment logarithm for next major axis tick. More...
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
 Updates position. More...
 
int number (double v, int numDig, QString &label) const
 Prepares number label. More...
 
void paintCond (QPainter *painter) const
 Paints or calculates bounding area. More...
 
void setProperties ()
 Sets properties according to transformation matrix. More...
 
double tick (double tic, bool log) const
 Calculates actual distance between major tics. More...
 
- Protected Member Functions inherited from KplItem
QPenchangePenWidth (QPen &pen, double width) const
 Changes pen width. More...
 
QPen createPen (QGraphicsItem *item, unsigned color=0, PenType penType=DataPen, Symbol symbol=SolidLine) const
 Creates pen for plot item. More...
 
double penWidth (const QGraphicsItem *item, PenType penType=DataPen) const
 Calculates pen width for plot item. More...
 
- Protected Member Functions inherited from QGraphicsItem
void updateMicroFocus ()
 
virtual bool sceneEventFilter (QGraphicsItem *watched, QEvent *event)
 
virtual bool sceneEvent (QEvent *event)
 
virtual void contextMenuEvent (QGraphicsSceneContextMenuEvent *event)
 
virtual void dragEnterEvent (QGraphicsSceneDragDropEvent *event)
 
virtual void dragLeaveEvent (QGraphicsSceneDragDropEvent *event)
 
virtual void dragMoveEvent (QGraphicsSceneDragDropEvent *event)
 
virtual void dropEvent (QGraphicsSceneDragDropEvent *event)
 
virtual void focusInEvent (QFocusEvent *event)
 
virtual void focusOutEvent (QFocusEvent *event)
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event)
 
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event)
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event)
 
virtual void keyPressEvent (QKeyEvent *event)
 
virtual void keyReleaseEvent (QKeyEvent *event)
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event)
 
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
 
virtual void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event)
 
virtual void wheelEvent (QGraphicsSceneWheelEvent *event)
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 
virtual QVariant itemChange (GraphicsItemChange change, const QVariant &value)
 
void prepareGeometryChange ()
 

Protected Attributes

bool m_showFrame
 
bool m_logZ
 
bool logXo
 
bool logZo
 
int m_numDigZ
 
int m_minTicZ
 
int m_expZ
 
Mode3D m_mode3D
 
int nx
 
int nz
 
unsigned m_colorData
 
double m_zMin
 
double m_zMax
 
double m_deltaX
 
double m_deltaZ
 
double m_zTic
 
double m_phi
 
double m_theta
 
double m_boxX
 
double m_boxY
 
double m_boxZ
 
double m_xRef
 
double m_yRef
 
double m_fX
 
double m_fY
 
double m_fZ
 
double zminl
 
double xStep
 
double zStep
 
double xMino
 
double xMaxo
 
double deltaXo
 
double zMino
 
double zMaxo
 
double deltaZo
 
double scalx
 
double scaly
 
double scalz
 
double scal3D
 
double phio
 
double thetao
 
double xOff3D
 
double yOff3D
 
double ** m_yValues
 
double vertex [16]
 
QTransform m3D
 
QVector< double > yMin3D
 
QVector< double > yMax3D
 
QString m_textZ
 
- Protected Attributes inherited from FrameItem
bool m_logX
 
bool m_logY
 
bool m_xBottom
 
bool m_xTop
 
bool m_yLeft
 
bool m_yRight
 
bool m_collapsed
 
int m_numDigX
 
int m_numDigY
 
int m_minTicX
 
int m_minTicY
 
int m_expX
 
int m_expY
 
GridMode m_gridMode
 
unsigned m_colorFrame
 
unsigned m_colorGrid
 
double m_x0
 
double m_y0
 
double m_width
 
double m_height
 
double m_xMin
 
double m_xMax
 
double m_yMin
 
double m_yMax
 
double m_xTic
 
double m_yTic
 
double m_xOffset
 
double m_yOffset
 
double m_normX
 
double m_normY
 
double xminl
 
double xmaxl
 
double yminl
 
double ymaxl
 
QString m_textX
 
QString m_textY
 
QString m_header
 
QRectF bRect
 
QRectF cRect
 
QTransform md
 
QTransform m_inv
 
QTransform m_matrix
 
- Protected Attributes inherited from KplItem
double m_relSize
 

Additional Inherited Members

- Static Public Member Functions inherited from FrameItem
static void autoScale (double &xMin, double &xMax, double &tick, int &minTic, int &numDig, double xmi, double xma, double f, double c, bool log)
 Calculates scaling parameters. More...
 
static bool valid (double v, bool log=false)
 Checks a double value for validity. More...
 
- Static Public Member Functions inherited from KplItem
static QUrl absoluteUrl (const QString &path, const QUrl &urlPlo)
 Constructs absolute file URL. More...
 
static QBrush createBrush (unsigned color, FillStyle fillStyle=NoBrush)
 Creates brush. More...
 
static QPen createPen (double width, unsigned color, PenType penType, Symbol symbol)
 Creates pen. More...
 
static void paintSymbol (QPainter *painter, const QRectF &rect, Symbol symbol=OpenCircle)
 Paints symbol. More...
 
static QPixmap pixmap (Symbol symbol)
 Returns black decoration pixmap of plot symbol for use in dialog GUI. More...
 
static QPixmap pixmap (QPen pen, Symbol symbol=SolidLine)
 Returns decoration pixmap of plot symbol for use in item lists. More...
 
static QString path (const QUrl &urlPlo, const QUrl &url, bool absolute=false)
 Constructs absolute or (if possible) relative file path. More...
 
static void resetDashOffset ()
 Resets offset for dashed lines. More...
 
static unsigned rgb (const QString &color)
 Converts rgb string to QRgb. More...
 
static unsigned rgbQt1 (unsigned rgb)
 Converts QRgb to Qt1 QRgb. More...
 
- Public Attributes inherited from QGraphicsItem
typedef GraphicsItemFlags
 
- Static Protected Member Functions inherited from KplItem
static double parentWidth (const QGraphicsItem *item)
 Returns width of item's parent frame or width of scene if the item has no parent item. More...
 
static double penWidthFactor (PenType penType)
 Returns factor to calculate pen width from frame width. More...
 
- Static Protected Attributes inherited from KplItem
static double m_dashOffset
 

Detailed Description

3D item class.

Base class for 3D array items and 3d function items.

Author
Werner Stille

Member Enumeration Documentation

enum ThreeDItem::Axis
protected

3D mode.

Determines how the surface y = f(x, z) should be plotted.

Enumerator

x axis.

y axis.

z axis.

3D mode.

Determines how the surface y = f(x, z) should be plotted.

Enumerator
AlongX 

Lines along x direction.

AlongZ 

Lines along z direction.

Grid 

x, z grid.

Constructor & Destructor Documentation

ThreeDItem::ThreeDItem ( double  x0 = 4,
double  y0 = 3,
double  width = 15,
double  height = 10,
unsigned  colFrame = 0,
unsigned  colGrid = 0,
unsigned  colData = 0,
bool  logX = false,
bool  logY = false,
bool  logZ = false,
GridMode  gridMode = AxesWithLabels,
Mode3D  mode3D = Grid,
double  xMax = 15,
double  yMax = 10,
double  zMax = 15,
const QString textX = "",
const QString textY = "",
const QString textZ = "",
const QString header = "",
double  relSize = 1,
int  numDigX = -1,
int  numDigY = -1,
int  numDigZ = -1,
int  minTicX = 5,
int  minTicY = 2,
int  minTicZ = 5,
int  expX = 0,
int  expY = 0,
int  expZ = 0,
double  xMin = 0,
double  yMin = 0,
double  zMin = 0,
double  xTic = 5,
double  yTic = 2,
double  zTic = 5,
double  deltaX = 0,
double  deltaZ = 0,
double  phi = 20,
double  theta = -20,
double  boxX = 7.5,
double  boxY = 7.5,
double  boxZ = 7.5,
double  xRef = 7.5,
double  yRef = 4,
double  fx = 1,
double  fy = 1,
double  fz = 1,
bool  showFrame = true,
bool  collapsed = false,
bool  visible = true 
)

Constructor.

Initializes corresponding to arguments.

Parameters
x0left page margin in centimeters.
y0bottom page margin in centimeters.
widthwidth in centimeters.
heightheight in centimeters.
colFramecolor for frame and labels.
colGridcolor for grids and tics.
colDatacolor for data plot.
logXtrue for logarithmic x axis.
logYtrue for logarithmic y axis.
logZtrue for logarithmic y axis.
gridModegrid mode.
mode3D3D mode.
xMaxmaximum x value.
yMaxmaximum y value.
zMaxmaximum z value.
textXx axis text.
textYy axis text.
textZz axis text.
headerheading text.
relSizerelative size of text, markers and lines.
numDigXnumber of digits for x axis.
numDigYnumber of digits for y axis.
numDigZnumber of digits for z axis.
minTicXnumber of intervals between major tics of x axis.
minTicYnumber of intervals between major tics of y axis.
minTicZnumber of intervals between major tics of z axis.
expXlogarithm of normalization factor for x axis.
expYlogarithm of normalization factor for y axis.
expZlogarithm of normalization factor for z axis.
xMinminimum x value.
yMinminimum y value.
zMinminimum z value.
xTicdistance between major tics of x axis.
yTicdistance between major tics of y axis.
zTicdistance between major tics of z axis.
deltaXx step size of grid.
deltaZz step size of grid.
phiangle of rotation about y axis in deg.
thetatilt angle of y axis in deg.
boxXx box width in cm.
boxYy box width in cm.
boxZz box width in cm.
xRefx position of center of box bottom plane.
yRefy position of center of box bottom plane.
fxnormalization factor for x values.
fynormalization factor for y values.
fznormalization factor for z values.
showFrametrue to show frame.
collapsedtrue for collapsed in list view.
visibletrue for visible item.
ThreeDItem::ThreeDItem ( const ThreeDItem a)

Copy constructor.

Parameters
asource item.
ThreeDItem::ThreeDItem ( const KConfigGroup *  plo,
double  x0,
double  y0,
double  width,
double  height,
unsigned  colorFrame,
unsigned  colorGrid,
unsigned  colorData,
GridMode  gridMode 
)

Constructor.

Initializes corresponding to plot file.

Parameters
plopointer to KConfigGroup object containing item data.
x0default value for left page margin in centimeters.
y0default value for bottom page margin in centimeters.
widthdefault value for width in centimeters.
heightdefault value for height in centimeters.
colorFramedefault value for color for frame and labels.
colorGriddefault value for color for grids and tics.
colorDatacolor for data plot.
gridModegrid mode.
ThreeDItem::~ThreeDItem ( )

Destructor.

Member Function Documentation

void ThreeDItem::axis3D ( QPainter painter,
double  vMin,
double  vMax,
double  tic,
int  minTic,
double  f,
double  scale,
double  xAxis,
double  zAxis,
double  ticLen,
int  numDig,
Axis  axis,
bool  log,
PSGraph ps = 0 
) const
protected

Plots 3D axis.

Parameters
painterpointer to QPainter object.
vMinminimum axis value.
vMaxmaximum axis value.
ticdistance between major tics.
minTicnumber of intervals between major tics.
fnormalization factor.
scalescaling factor.
xAxis3D x position of axis start point.
zAxis3D z position of axis start point.
ticLentic length.
numDignumber of digits.
axisaxis.
logtrue for logarithmic axis.
pspointer to PSGraph object, != 0 for PostScript output.
virtual QRectF ThreeDItem::boundingRect ( ) const
virtual

Calculates bounding rectangle.

Reimplemented from FrameItem.

double ThreeDItem::boxX ( ) const
inline

Returns x box width in cm.

double ThreeDItem::boxY ( ) const
inline

Returns y box width in cm.

double ThreeDItem::boxZ ( ) const
inline

Returns z box width in cm.

unsigned ThreeDItem::colorData ( ) const
inline

Returns color for data.

double ThreeDItem::deltaX ( ) const
inline

Returns x step size of grid.

double ThreeDItem::deltaZ ( ) const
inline

Returns z step size of grid.

void ThreeDItem::drawText ( QPainter painter,
const QString text,
double  x,
double  y,
TextItem::Alignment  alignment,
PSGraph ps,
double  dir = 0 
) const
protected

Plots text.

Parameters
painterpointer to QPainter object.
texttext.
xx position in pixel units.
yy position in pixel units.
alignmenthorizontal alignment.
pspointer to PSGraph object, != 0 for PostScript output.
dirtext direction in degree.
void ThreeDItem::exportTable ( QTextStream stream,
char  separator,
char  format,
int  precision 
) const

Exports value table to file.

Parameters
streamstream for output file.
separatorcolumn separator character.
formatC format character.
precisionprecision.
int ThreeDItem::expZ ( ) const
inline

Returns logarithm of normalization factor for z axis.

void ThreeDItem::frame3D ( QPainter painter,
int  iBack,
PSGraph ps = 0 
) const
protected

Plots 3D frame.

Parameters
painterpointer to QPainter object.
iBackindex of vertex furthest in the background.
pspointer to PSGraph object, != 0 for PostScript output.
double ThreeDItem::fX ( ) const
inline

Returns normalization factor for x values.

double ThreeDItem::fY ( ) const
inline

Returns normalization factor for y values.

double ThreeDItem::fZ ( ) const
inline

Returns normalization factor for z values.

void ThreeDItem::line3D ( QPainter painter,
double  x1,
double  y1,
double  z1,
double  x2,
double  y2,
double  z2,
PSGraph ps = 0 
) const
protected

Draws line in 3D space.

Parameters
painterpointer to QPainter object.
x13D x value of point 1.
y13D y value of point 1.
z13D z value of point 1.
x23D x value of point 2.
y23D y value of point 2.
z23D z value of point 2.
pspointer to PSGraph object, != 0 for PostScript output.
bool ThreeDItem::logZ ( ) const
inline

Returns true for logarithmic z axis.

int ThreeDItem::minTicZ ( ) const
inline

Returns number of intervals between major tics of z axis.

int ThreeDItem::numDigZ ( ) const
inline

Returns number of digits for z axis.

virtual void ThreeDItem::paint ( QPainter painter,
const QStyleOptionGraphicsItem option,
QWidget widget = 0 
)
virtual

Paints item.

Reimplemented from FrameItem.

Reimplemented in Array3DItem, and Fun3DItem.

void ThreeDItem::paintCond ( QPainter painter,
PSGraph ps = 0 
) const

Paints or calculates bounding area.

Parameters
painterQPainter object, 0 for calculating bounding area.
pspointer to PSGraph object, != 0 for PostScript output.
double ThreeDItem::phi ( ) const
inline

Returns angle of rotation about y axis in deg.

void ThreeDItem::plot3D ( QPainter painter,
bool  xArray,
bool  yArray,
bool  zArray,
const double *  xData,
const double *  yData,
const double *  zData,
double  xScale,
double  yScale,
double  zScale,
bool  firstLine,
int  n,
double  xOffset,
double  yOffset,
double *  vertex,
PSGraph ps = 0 
) const
protected

Plots curve in 3D space.

Parameters
painterpointer to QPainter object.
xArraytrue for array in xData.
yArraytrue for array in yData.
zArraytrue for array in zData.
xDataarray or start value of x data.
yDataarray or start value of y data.
zDataarray or start value of z data.
xScalefactor for x array step width x data.
yScalefactor for y array step width y data.
zScalefactor for z array step width z data.
firstLinetrue for first line of 3D surface.
nnumber of points of the curve.
xOffset2D x offset for 3D y axis mimimum.
yOffset2D y offset for 3D y axis mimimum.
vertexarray to store vertices.
pspointer to PSGraph object, != 0 for PostScript output.
void ThreeDItem::plotArray ( QPainter painter,
const double *  x,
const double *  y,
int  n,
PSGraph ps = 0 
) const
protected

Plots array.

Parameters
painterpointer to QPainter object, 0 for calculating bounding box.
xarray with x values.
yarray with y values.
nnumber of values.
pspointer to PSGraph object, != 0 for PostScript output.
void ThreeDItem::plotArray3D ( QPainter painter,
PSGraph ps = 0 
) const
protected

Plots 3D data.

Parameters
painterpointer to QPainter object.
pspointer to PSGraph object, != 0 for PostScript output.
void ThreeDItem::raster3d ( QPainter painter,
PSGraph ps = 0 
) const
protected

Draws frame and axes of 3D plot.

Parameters
painterpointer to QPainter object.
pspointer to PSGraph object, != 0 for PostScript output.
void ThreeDItem::setBoxX ( double  width)
inline

Sets x box width in cm.

Parameters
widthwidth.
void ThreeDItem::setBoxY ( double  width)
inline

Sets y box width in cm.

Parameters
widthwidth.
void ThreeDItem::setBoxZ ( double  width)
inline

Sets z box width in cm.

Parameters
widthwidth.
void ThreeDItem::setColorData ( unsigned  color)
inline

Sets color for data.

Parameters
colorcolor.
void ThreeDItem::setDeltaX ( double  dx)
inline

Sets x step size of grid.

Parameters
dxstep size.
void ThreeDItem::setDeltaZ ( double  dz)
inline

Sets z step size of grid.

Parameters
dzstep size.
void ThreeDItem::setExpZ ( int  e)
inline

Sets exponent of z normalization factor.

Parameters
eexponent.
void ThreeDItem::setFX ( double  fx)
inline

Sets x normalization factor.

Parameters
fxfactor.
void ThreeDItem::setFY ( double  fy)
inline

Sets y normalization factor.

Parameters
fyfactor.
void ThreeDItem::setFZ ( double  fz)
inline

Sets z normalization factor.

Parameters
fzfactor.
void ThreeDItem::setLogZ ( bool  logZ)
inline

Sets logarithmic mode of z axis.

Parameters
logZtrue for logarithmic z axis.
void ThreeDItem::setMinTicZ ( int  minTicZ)
inline

Sets number of intervals between major tics of z axis.

Parameters
minTicZnumber of intervals.
void ThreeDItem::setMode3D ( Mode3D  mode3D)
inline

Sets 3D mode.

Parameters
mode3D3D mode.
void ThreeDItem::setNumDigZ ( int  numDigZ)
inline

Sets number of digits for z axis.

Parameters
numDigZnumber of digits.
void ThreeDItem::setPhi ( double  phi)
inline

Sets angle of rotation about y axis.

Parameters
phiangle in deg.
void ThreeDItem::setProperties ( const QTransform m)

Sets properties according to transformation matrix.

Parameters
mtransformation matrix.
void ThreeDItem::setProperties ( )
protected

Sets properties according to transformation matrix.

void ThreeDItem::setShowFrame ( bool  showFrame)
inline

Sets frame mode.

Parameters
showFrametrue to show frame.
void ThreeDItem::setTextZ ( const QString text)
inline

Sets z axis text.

Parameters
textaxis text.
void ThreeDItem::setTheta ( double  theta)
inline

Sets angle of rotation about y axis.

Parameters
thetaangle in deg.
void ThreeDItem::setXRef ( double  xRef)
inline

Sets x position of center of box bottom plane.

Parameters
xRefx position in cm.
void ThreeDItem::setYRef ( double  yRef)
inline

Sets y position of center of box bottom plane.

Parameters
yRefy position in cm.
void ThreeDItem::setZMax ( double  zMax)
inline

Sets upper z data limit.

Parameters
zMaxupper limit in user units.
void ThreeDItem::setZMin ( double  zMin)
inline

Sets lower z data limit.

Parameters
zMinlower limit in user units.
void ThreeDItem::setZTic ( double  zTic)
inline

Sets z tic distance.

Parameters
zTicdistance between major tics of z axis.
bool ThreeDItem::showFrame ( ) const
inline

Returns true for shown frame.

QString ThreeDItem::textZ ( ) const
inline

Returns z axis text.

double ThreeDItem::theta ( ) const
inline

Returns angle of rotation about y axis in deg.

void ThreeDItem::update ( )

Applies changes and forces redrawing.

void ThreeDItem::writePlo ( KConfigGroup *  plo) const

Writes into plot file.

Parameters
ploKConfigGroup object.
double ThreeDItem::xFrom3d ( double  x,
double  z 
) const
protected

Calculates 2D x value.

Parameters
x3D x value.
z3D z value.
double ThreeDItem::xRef ( ) const
inline

Returns x position of center of box bottom plane.

double ThreeDItem::yFrom3d ( double  x,
double  y,
double  z 
) const
protected

Calculates 2D y value.

Parameters
x3D x value.
y3D y value.
z3D z value.
double ThreeDItem::yRef ( ) const
inline

Returns y position of center of box bottom plane.

double** ThreeDItem::yValues ( ) const
inline

Returns pointer to y value array.

double ThreeDItem::zMax ( ) const
inline

Returns upper z data limit user units.

double ThreeDItem::zMin ( ) const
inline

Returns lower z data limit user units.

double ThreeDItem::zTic ( ) const
inline

Returns distance between major tics of z axis.


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