libkpl  6.0
A Library for Graphical Presentation of Data Sets and Functions
ThreeDItem Class Reference

3D item class. More...

#include <threeditem.h>

Inheritance diagram for ThreeDItem:

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=QString(), const QString &textY=QString(), const QString &textZ=QString(), const QString &header=QString(), 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.
 
 ThreeDItem (const ThreeDItem &a)
 Copy constructor.
 
 ThreeDItem (const KConfigGroup *plo, double x0, double y0, double width, double height, unsigned colorFrame, unsigned colorGrid, unsigned colorData, GridMode gridMode)
 Constructor.
 
 ~ThreeDItem ()
 Destructor.
 
virtual QRectF boundingRect () const override
 Calculates bounding rectangle.
 
double boxX () const
 Returns x box width in cm.
 
double boxY () const
 Returns y box width in cm.
 
double boxZ () const
 Returns z box width in cm.
 
unsigned colorData () const
 Returns color for data.
 
double deltaX () const
 Returns x step size of grid.
 
double deltaZ () const
 Returns z step size of grid.
 
void exportTable (QTextStream &stream, char separator, char format, int precision) const
 Exports value table to file.
 
int expZ () const
 Returns logarithm of normalization factor for z axis.
 
double fX () const
 Returns normalization factor for x values.
 
double fY () const
 Returns normalization factor for y values.
 
double fZ () const
 Returns normalization factor for z values.
 
bool logZ () const
 Returns true for logarithmic z axis.
 
int minTicZ () const
 Returns number of intervals between major tics of z axis.
 
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.
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override
 Paints item.
 
void paintCond (QPainter *painter, PSGraph *ps=nullptr) const
 Paints or calculates bounding area.
 
double phi () const
 Returns angle of rotation about y axis in deg.
 
void setBoxX (double width)
 Sets x box width in cm.
 
void setBoxY (double width)
 Sets y box width in cm.
 
void setBoxZ (double width)
 Sets z box width in cm.
 
void setColorData (unsigned color)
 Sets color for data.
 
void setDeltaX (double dx)
 Sets x step size of grid.
 
void setDeltaZ (double dz)
 Sets z step size of grid.
 
void setExpZ (int e)
 Sets exponent of z normalization factor.
 
void setFX (double fx)
 Sets x normalization factor.
 
void setFY (double fy)
 Sets y normalization factor.
 
void setFZ (double fz)
 Sets z normalization factor.
 
void setLogZ (bool logZ)
 Sets logarithmic mode of z axis.
 
void setMinTicZ (int minTicZ)
 Sets number of intervals between major tics of z axis.
 
void setMode3D (Mode3D mode3D)
 Sets 3D mode.
 
void setNumDigZ (int numDigZ)
 Sets number of digits for z axis.
 
void setPhi (double phi)
 Sets angle of rotation about y axis.
 
void setProperties (const QTransform &m)
 Sets properties according to transformation matrix.
 
void setShowFrame (bool showFrame)
 Sets frame mode.
 
void setTextZ (const QString &text)
 Sets z axis text.
 
void setTheta (double theta)
 Sets angle of rotation about y axis.
 
void setXRef (double xRef)
 Sets x position of center of box bottom plane.
 
void setYRef (double yRef)
 Sets y position of center of box bottom plane.
 
void setZMax (double zMax)
 Sets upper z data limit.
 
void setZMin (double zMin)
 Sets lower z data limit.
 
void setZTic (double zTic)
 Sets z tic distance.
 
bool showFrame () const
 Returns true for shown frame.
 
QString textZ () const
 Returns z axis text.
 
double theta () const
 Returns angle of rotation about y axis in deg.
 
void update ()
 Applies changes and forces redrawing.
 
void writePlo (KConfigGroup *plo) const
 Writes into plot file.
 
double xRef () const
 Returns x position of center of box bottom plane.
 
double yRef () const
 Returns y position of center of box bottom plane.
 
double ** yValues () const
 Returns pointer to y value array.
 
double zMax () const
 Returns upper z data limit user units.
 
double zMin () const
 Returns lower z data limit user units.
 
double zTic () const
 Returns distance between major tics of z axis.
 
- 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=QString(), const QString &textY=QString(), const QString &header=QString(), 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.
 
 FrameItem (const FrameItem &a)
 Copy constructor.
 
 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.
 
virtual ~FrameItem ()
 Destructor.
 
void autoScale (double xmi, double xma, double fx, double ymi, double yma, double fy)
 Calculates and sets the scaling parameters.
 
void autoScale (bool autoNorm=true)
 Calculates and sets the scaling parameters.
 
bool calcAutoScale (bool autoNorm, const QList< QGraphicsItem * > &items, double &fx, double &fy)
 Calculates scaling parameters for a frame item and all its child items.
 
QRectF clipRect () const
 Returns clipping rectangle.
 
unsigned colorFrame () const
 Returns color for frame and labels.
 
unsigned colorGrid () const
 Returns color for grids and tics.
 
int expX () const
 Returns logarithm of normalization factor for x axis.
 
int expY () const
 Returns logarithm of normalization factor for y axis.
 
GridMode gridMode () const
 Returns grid mode.
 
QString header () const
 Returns heading text.
 
double height () const
 Returns height in cm.
 
bool collapsed () const
 Returns collapse state for list view.
 
bool logX () const
 Returns true for logarithmic x axis.
 
bool logY () const
 Returns true for logarithmic y axis.
 
QPointF mapFromUser (const QPointF &p) const
 Maps from user to pixel coordinates.
 
QPointF mapToUser (const QPointF &p) const
 Maps from pixel to user coordinates.
 
QRectF mapToUser (const QRectF &rect) const
 Maps from pixel to user coordinates.
 
int minTicX () const
 Returns number of intervals between major tics of x axis.
 
int minTicY () const
 Returns number of intervals between major tics of y axis.
 
double normX () const
 Returns normalization factor for x values.
 
double normY () const
 Returns normalization factor for y values.
 
int numDigX () const
 Returns number of digits for x axis.
 
int numDigY () const
 Returns number of digits for y axis.
 
QPointF rectPos () const
 Returns position in cm units.
 
void setColorFrame (unsigned color)
 Sets color for frame and labels.
 
void setColorGrid (unsigned color)
 Sets color for grids and tics.
 
void setExpX (int expX)
 Sets exponent of x normalization factor.
 
void setExpY (int expY)
 Sets exponent of y normalization factor.
 
void setGridMode (GridMode gridMode)
 Sets grid mode.
 
void setHeight (double height)
 Sets height.
 
void setLogX (bool logX)
 Sets logarithmic mode of x axis.
 
void setLogY (bool logY)
 Sets logarithmic mode of y axis.
 
void setMinTicX (int minTicX)
 Sets number of intervals between major tics of x axis.
 
void setMinTicY (int minTicY)
 Sets number of intervals between major tics of y axis.
 
void setNumDigX (int numDigX)
 Sets number of digits for x axis.
 
void setNumDigY (int numDigY)
 Sets number of digits for y axis.
 
void setProperties (const QTransform &m)
 Sets properties according to transformation matrix.
 
void setHeader (const QString &text)
 Sets heading text.
 
void setTextX (const QString &text)
 Sets x axis text.
 
void setTextY (const QString &text)
 Sets y axis text.
 
void setWidth (double width)
 Sets width.
 
void setX0 (double x0)
 Sets left page margin.
 
void setXBottom (bool xBottom)
 Sets bottom side label mode.
 
void setXMax (double xMax)
 Sets upper x data limit.
 
void setXMin (double xMin)
 Sets lower x data limit.
 
void setXOffset (double xOffset)
 Sets x offset.
 
void setXTic (double xTic)
 Sets x tick distance.
 
void setXTop (bool xTop)
 Sets top side label mode.
 
void setY0 (double y0)
 Sets bottom page margin.
 
void setYLeft (bool yLeft)
 Sets left side label mode.
 
void setYMax (double yMax)
 Sets upper y data limit.
 
void setYMin (double yMin)
 Sets lower y data limit.
 
void setYOffset (double yOffset)
 Sets y offset.
 
void setYRight (bool yRight)
 Sets right side label mode.
 
void setYTic (double yTic)
 Sets y tick distance.
 
QPointF steps () const
 Returns user units steps for one pixel steps.
 
QString textX () const
 Returns x axis text.
 
QString textY () const
 Returns y axis text.
 
virtual int type () const override
 Returns specific QGraphicsItem type number.
 
void toggleCollapsed ()
 Toggles collapse state.
 
void update ()
 Applies changes and forces redrawing.
 
void updatePos (QPointF p)
 Sets position.
 
bool valid (double x, double y) const
 Checks coordinates for validity.
 
double width () const
 Returns width in cm.
 
void writePlo (KConfigGroup *plo) const
 Writes into plot file.
 
double x0 () const
 Returns left page margin in cm.
 
bool xBottom () const
 Returns true for x axis labels on bottom side.
 
double xMax () const
 Returns x value of right data window margin in user units.
 
double xMin () const
 Returns x value of left data window margin in user units.
 
double xOffset () const
 Returns offset for first major x tick.
 
double xTic () const
 Returns distance between major tics of x axis.
 
bool xTop () const
 Returns true for x axis labels on top side.
 
double y0 () const
 
bool yLeft () const
 Returns true for y axis labels on left side.
 
bool yRight () const
 Returns true for y axis labels on right side.
 
double yMax () const
 Returns y value of upper data window margin in user units.
 
double yMin () const
 Returns y value of lower data window margin in user units.
 
double yOffset () const
 Returns offset for first major y tick.
 
double yTic () const
 Returns distance between major tics of y axis.
 
- Public Member Functions inherited from KplItem
 KplItem (double relSize=1)
 Constructor.
 
 KplItem (const KplItem &a)
 Copy constructor.
 
 KplItem (const KConfigGroup *plo)
 Constructor.
 
virtual ~KplItem ()
 Destructor.
 
void readPlo (const KConfigGroup *plo)
 Initializes corresponding to plot file.
 
double relSize () const
 Returns relative size of item.
 
void setRelSize (double relSize)
 Sets relative size of item.
 
void writePlo (KConfigGroup *plo, bool visible=true) const
 Writes into plot file.
 

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=nullptr) const
 Plots 3D axis.
 
void drawText (QPainter *painter, const QString &text, double x, double y, TextItem::Alignment alignment, PSGraph *ps, double dir=0) const
 Plots text.
 
void frame3D (QPainter *painter, int iBack, PSGraph *ps=nullptr) const
 Plots 3D frame.
 
void line3D (QPainter *painter, double x1, double y1, double z1, double x2, double y2, double z2, PSGraph *ps=nullptr) const
 Draws line in 3D space.
 
void plotArray3D (QPainter *painter, PSGraph *ps=nullptr) const
 Plots 3D data.
 
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=nullptr) const
 Plots curve in 3D space.
 
void plotArray (QPainter *painter, const double *x, const double *y, int n, PSGraph *ps=nullptr) const
 Plots array.
 
void raster3d (QPainter *painter, PSGraph *ps=nullptr) const
 Draws frame and axes of 3D plot.
 
void setProperties ()
 Sets properties according to transformation matrix.
 
double xFrom3d (double x, double z) const
 Calculates 2D x value.
 
double yFrom3d (double x, double y, double z) const
 Calculates 2D y value.
 
- 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.
 
double incLog (double &x, double f) const
 Increment logarithm for next major axis tick.
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 Updates position.
 
int number (double v, int numDig, QString &label) const
 Prepares number label.
 
void paintCond (QPainter *painter) const
 Paints or calculates bounding area.
 
void setProperties ()
 Sets properties according to transformation matrix.
 
double tick (double tic, bool log) const
 Calculates actual distance between major tics.
 
- Protected Member Functions inherited from KplItem
QPen & changePenWidth (QPen &pen, double width) const
 Changes pen width.
 
QPen createPen (QGraphicsItem *item, unsigned color=0, PenType penType=DataPen, Symbol symbol=SolidLine) const
 Creates pen for plot item.
 
double penWidth (const QGraphicsItem *item, PenType penType=DataPen) const
 Calculates pen width for plot item.
 

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.
 
static bool valid (double v, bool log=false)
 Checks a double value for validity.
 
- Static Public Member Functions inherited from KplItem
static QUrl absoluteUrl (const QString &path, const QUrl &urlPlo)
 Constructs absolute file URL.
 
static QBrush createBrush (unsigned color, FillStyle fillStyle=NoBrush)
 Creates brush.
 
static QPen createPen (double width, unsigned color, PenType penType, Symbol symbol)
 Creates pen.
 
static void paintSymbol (QPainter *painter, const QRectF &rect, Symbol symbol=OpenCircle)
 Paints symbol.
 
static QPixmap pixmap (Symbol symbol)
 Returns black decoration pixmap of plot symbol for use in dialog GUI.
 
static QPixmap pixmap (QPen pen, Symbol symbol=SolidLine)
 Returns decoration pixmap of plot symbol for use in item lists.
 
static QString path (const QUrl &urlPlo, const QUrl &url, bool absolute=false)
 Constructs absolute or (if possible) relative file path.
 
static void resetDashOffset ()
 Resets offset for dashed lines.
 
static unsigned rgb (const QString &color)
 Converts rgb string to QRgb.
 
static unsigned rgbQt1 (unsigned rgb)
 Converts QRgb to Qt1 QRgb.
 
- 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.
 
static double penWidthFactor (PenType penType)
 Returns factor to calculate pen width from frame width.
 
- 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

◆ Axis

enum ThreeDItem::Axis
protected

3D mode.

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

Enumerator

x axis.

y axis.

z axis.

◆ Mode3D

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() [1/3]

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 = QString(),
const QString & textY = QString(),
const QString & textZ = QString(),
const QString & header = QString(),
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() [2/3]

ThreeDItem::ThreeDItem ( const ThreeDItem & a)

Copy constructor.

Parameters
asource item.

◆ ThreeDItem() [3/3]

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.

Member Function Documentation

◆ axis3D()

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 = nullptr ) 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.

◆ boundingRect()

virtual QRectF ThreeDItem::boundingRect ( ) const
overridevirtual

Calculates bounding rectangle.

Reimplemented from FrameItem.

◆ drawText()

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.

◆ exportTable()

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.

◆ frame3D()

void ThreeDItem::frame3D ( QPainter * painter,
int iBack,
PSGraph * ps = nullptr ) 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.

◆ line3D()

void ThreeDItem::line3D ( QPainter * painter,
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
PSGraph * ps = nullptr ) 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.

◆ paint()

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

Paints item.

Reimplemented from FrameItem.

Reimplemented in Array3DItem, and Fun3DItem.

◆ paintCond()

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

Paints or calculates bounding area.

Parameters
painterQPainter object, 0 for calculating bounding area.
pspointer to PSGraph object, != 0 for PostScript output.

◆ plot3D()

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 = nullptr ) 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.

◆ plotArray()

void ThreeDItem::plotArray ( QPainter * painter,
const double * x,
const double * y,
int n,
PSGraph * ps = nullptr ) 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.

◆ plotArray3D()

void ThreeDItem::plotArray3D ( QPainter * painter,
PSGraph * ps = nullptr ) const
protected

Plots 3D data.

Parameters
painterpointer to QPainter object.
pspointer to PSGraph object, != 0 for PostScript output.

◆ raster3d()

void ThreeDItem::raster3d ( QPainter * painter,
PSGraph * ps = nullptr ) const
protected

Draws frame and axes of 3D plot.

Parameters
painterpointer to QPainter object.
pspointer to PSGraph object, != 0 for PostScript output.

◆ setBoxX()

void ThreeDItem::setBoxX ( double width)
inline

Sets x box width in cm.

Parameters
widthwidth.

◆ setBoxY()

void ThreeDItem::setBoxY ( double width)
inline

Sets y box width in cm.

Parameters
widthwidth.

◆ setBoxZ()

void ThreeDItem::setBoxZ ( double width)
inline

Sets z box width in cm.

Parameters
widthwidth.

◆ setColorData()

void ThreeDItem::setColorData ( unsigned color)
inline

Sets color for data.

Parameters
colorcolor.

◆ setDeltaX()

void ThreeDItem::setDeltaX ( double dx)
inline

Sets x step size of grid.

Parameters
dxstep size.

◆ setDeltaZ()

void ThreeDItem::setDeltaZ ( double dz)
inline

Sets z step size of grid.

Parameters
dzstep size.

◆ setExpZ()

void ThreeDItem::setExpZ ( int e)
inline

Sets exponent of z normalization factor.

Parameters
eexponent.

◆ setFX()

void ThreeDItem::setFX ( double fx)
inline

Sets x normalization factor.

Parameters
fxfactor.

◆ setFY()

void ThreeDItem::setFY ( double fy)
inline

Sets y normalization factor.

Parameters
fyfactor.

◆ setFZ()

void ThreeDItem::setFZ ( double fz)
inline

Sets z normalization factor.

Parameters
fzfactor.

◆ setLogZ()

void ThreeDItem::setLogZ ( bool logZ)
inline

Sets logarithmic mode of z axis.

Parameters
logZtrue for logarithmic z axis.

◆ setMinTicZ()

void ThreeDItem::setMinTicZ ( int minTicZ)
inline

Sets number of intervals between major tics of z axis.

Parameters
minTicZnumber of intervals.

◆ setMode3D()

void ThreeDItem::setMode3D ( Mode3D mode3D)
inline

Sets 3D mode.

Parameters
mode3D3D mode.

◆ setNumDigZ()

void ThreeDItem::setNumDigZ ( int numDigZ)
inline

Sets number of digits for z axis.

Parameters
numDigZnumber of digits.

◆ setPhi()

void ThreeDItem::setPhi ( double phi)
inline

Sets angle of rotation about y axis.

Parameters
phiangle in deg.

◆ setProperties()

void ThreeDItem::setProperties ( const QTransform & m)

Sets properties according to transformation matrix.

Parameters
mtransformation matrix.

◆ setShowFrame()

void ThreeDItem::setShowFrame ( bool showFrame)
inline

Sets frame mode.

Parameters
showFrametrue to show frame.

◆ setTextZ()

void ThreeDItem::setTextZ ( const QString & text)
inline

Sets z axis text.

Parameters
textaxis text.

◆ setTheta()

void ThreeDItem::setTheta ( double theta)
inline

Sets angle of rotation about y axis.

Parameters
thetaangle in deg.

◆ setXRef()

void ThreeDItem::setXRef ( double xRef)
inline

Sets x position of center of box bottom plane.

Parameters
xRefx position in cm.

◆ setYRef()

void ThreeDItem::setYRef ( double yRef)
inline

Sets y position of center of box bottom plane.

Parameters
yRefy position in cm.

◆ setZMax()

void ThreeDItem::setZMax ( double zMax)
inline

Sets upper z data limit.

Parameters
zMaxupper limit in user units.

◆ setZMin()

void ThreeDItem::setZMin ( double zMin)
inline

Sets lower z data limit.

Parameters
zMinlower limit in user units.

◆ setZTic()

void ThreeDItem::setZTic ( double zTic)
inline

Sets z tic distance.

Parameters
zTicdistance between major tics of z axis.

◆ writePlo()

void ThreeDItem::writePlo ( KConfigGroup * plo) const

Writes into plot file.

Parameters
ploKConfigGroup object.

◆ xFrom3d()

double ThreeDItem::xFrom3d ( double x,
double z ) const
protected

Calculates 2D x value.

Parameters
x3D x value.
z3D z value.

◆ yFrom3d()

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.

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