labplot  2.8.2
About: LabPlot is an application for plotting and analysis of 2D and 3D functions and data. It is a complete rewrite of LabPlot1 and lacks in the first release a lot of features available in the predecessor. On the other hand, the GUI and the usability is more superior.
  Fossies Dox: labplot-2.8.2.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

XYInterpolationCurve Class Reference

A xy-curve defined by an interpolation. More...

#include <XYInterpolationCurve.h>

Inheritance diagram for XYInterpolationCurve:
Collaboration diagram for XYInterpolationCurve:


struct  InterpolationData
struct  InterpolationResult

Public Types

enum class  PointsMode { Auto , Multiple , Custom }
typedef XYInterpolationCurvePrivate Private
- Public Types inherited from XYAnalysisCurve
enum class  DataSourceType { Spreadsheet , Curve }
- Public Types inherited from XYCurve
enum class  LineType {
  NoLine , Line , StartHorizontal , StartVertical ,
  MidpointHorizontal , MidpointVertical , Segments2 , Segments3 ,
  SplineCubicNatural , SplineCubicPeriodic , SplineAkimaNatural , SplineAkimaPeriodic
enum class  DropLineType {
  NoDropLine , X , Y , XY ,
  XZeroBaseline , XMinBaseline , XMaxBaseline
enum class  ValuesType {
  NoValues , X , Y , XY ,
  XYBracketed , CustomColumn
enum class  ValuesPosition { Above , Under , Left , Right }
enum class  ErrorType { NoError , Symmetric , Asymmetric }
enum class  FillingPosition {
  NoFilling , Above , Below , ZeroBaseline ,
  Left , Right
enum class  ErrorBarsType { Simple , WithEnds }
typedef XYCurvePrivate Private
- Public Types inherited from WorksheetElement
enum class  Orientation { Horizontal , Vertical }
enum class  WorksheetElementName { NameCartesianPlot = 1 }
enum class  HorizontalPosition { Left , Center , Right , Custom }
enum class  VerticalPosition { Top , Center , Bottom , Custom }
enum class  HorizontalAlignment { Left , Center , Right }
enum class  VerticalAlignment { Top , Center , Bottom }
- Public Types inherited from AbstractAspect
enum class  ChildIndexFlag { IncludeHidden = 0x01 , Recursive = 0x02 , Compress = 0x04 }
 Flags which control numbering scheme of children. More...


void interpolationDataChanged (const XYInterpolationCurve::InterpolationData &)
- Signals inherited from XYAnalysisCurve
void sourceDataChanged ()
void dataSourceTypeChanged (XYAnalysisCurve::DataSourceType)
void dataSourceCurveChanged (const XYCurve *)
void xDataColumnChanged (const AbstractColumn *)
void yDataColumnChanged (const AbstractColumn *)
void y2DataColumnChanged (const AbstractColumn *)
- Signals inherited from XYCurve
void dataChanged ()
void xDataChanged ()
void yDataChanged ()
void xErrorPlusDataChanged ()
void xErrorMinusDataChanged ()
void yErrorPlusDataChanged ()
void yErrorMinusDataChanged ()
void valuesDataChanged ()
void visibilityChanged (bool)
void xColumnChanged (const AbstractColumn *)
void yColumnChanged (const AbstractColumn *)
void lineTypeChanged (XYCurve::LineType)
void lineSkipGapsChanged (bool)
void lineIncreasingXOnlyChanged (bool)
void lineInterpolationPointsCountChanged (int)
void linePenChanged (const QPen &)
void lineOpacityChanged (qreal)
void dropLineTypeChanged (XYCurve::DropLineType)
void dropLinePenChanged (const QPen &)
void dropLineOpacityChanged (qreal)
void symbolsStyleChanged (Symbol::Style)
void symbolsSizeChanged (qreal)
void symbolsRotationAngleChanged (qreal)
void symbolsOpacityChanged (qreal)
void symbolsBrushChanged (QBrush)
void symbolsPenChanged (const QPen &)
void valuesTypeChanged (XYCurve::ValuesType)
void valuesColumnChanged (const AbstractColumn *)
void valuesPositionChanged (XYCurve::ValuesPosition)
void valuesDistanceChanged (qreal)
void valuesRotationAngleChanged (qreal)
void valuesOpacityChanged (qreal)
void valuesNumericFormatChanged (char)
void valuesPrecisionChanged (int)
void valuesDateTimeFormatChanged (QString)
void valuesPrefixChanged (QString)
void valuesSuffixChanged (QString)
void valuesFontChanged (QFont)
void valuesColorChanged (QColor)
void fillingPositionChanged (XYCurve::FillingPosition)
void fillingTypeChanged (PlotArea::BackgroundType)
void fillingColorStyleChanged (PlotArea::BackgroundColorStyle)
void fillingImageStyleChanged (PlotArea::BackgroundImageStyle)
void fillingBrushStyleChanged (Qt::BrushStyle)
void fillingFirstColorChanged (QColor &)
void fillingSecondColorChanged (QColor &)
void fillingFileNameChanged (QString &)
void fillingOpacityChanged (float)
void xErrorTypeChanged (XYCurve::ErrorType)
void xErrorPlusColumnChanged (const AbstractColumn *)
void xErrorMinusColumnChanged (const AbstractColumn *)
void yErrorTypeChanged (XYCurve::ErrorType)
void yErrorPlusColumnChanged (const AbstractColumn *)
void yErrorMinusColumnChanged (const AbstractColumn *)
void errorBarsCapSizeChanged (qreal)
void errorBarsTypeChanged (XYCurve::ErrorBarsType)
void errorBarsPenChanged (QPen)
void errorBarsOpacityChanged (qreal)
- Signals inherited from AbstractAspect
void aspectDescriptionAboutToChange (const AbstractAspect *)
 Emitted before the name, comment or caption spec is changed. More...
void aspectDescriptionChanged (const AbstractAspect *)
 Emitted after the name, comment or caption spec have changed. More...
void aspectAboutToBeAdded (const AbstractAspect *parent, const AbstractAspect *before, const AbstractAspect *child)
 Emitted before a new child is inserted. More...
void aspectAdded (const AbstractAspect *)
 Emitted after a new Aspect has been added to the tree. More...
void aspectAboutToBeRemoved (const AbstractAspect *)
 Emitted before an aspect is removed from its parent. More...
void aspectRemoved (const AbstractAspect *parent, const AbstractAspect *before, const AbstractAspect *child)
 Emitted from the parent after removing a child. More...
void aspectHiddenAboutToChange (const AbstractAspect *)
 Emitted before the hidden attribute is changed. More...
void aspectHiddenChanged (const AbstractAspect *)
 Emitted after the hidden attribute has changed. More...
void statusInfo (const QString &)
 Emitted whenever some aspect in the tree wants to give status information to the user. More...
void renameRequested ()
void selected (const AbstractAspect *)
void deselected (const AbstractAspect *)
void childAspectSelectedInView (const AbstractAspect *)
void childAspectDeselectedInView (const AbstractAspect *)

Public Member Functions

 XYInterpolationCurve (const QString &name)
 ~XYInterpolationCurve () override
void recalculate () override
QIcon icon () const override
void save (QXmlStreamWriter *) const override
 Save as XML. More...
bool load (XmlStreamReader *, bool preview) override
 Load from XML. More...
const InterpolationResultinterpolationResult () const
- Public Member Functions inherited from XYAnalysisCurve
 XYAnalysisCurve (const QString &, AspectType type)
 ~XYAnalysisCurve () override
const QString & dataSourceCurvePath () const
 POINTER_D_ACCESSOR_DECL (const AbstractColumn, y2DataColumn, Y2DataColumn) typedef XYAnalysisCurvePrivate Private
- Public Member Functions inherited from XYCurve
 XYCurve (const QString &name, AspectType type=AspectType::XYCurve)
 ~XYCurve () override
void finalizeAdd () override
QMenu * createContextMenu () override
 Return a new context menu. More...
QGraphicsItem * graphicsItem () const override
 Return the graphics item representing this element. More...
void loadThemeConfig (const KConfig &) override
void saveThemeConfig (const KConfig &) override
double y (double x, bool &valueFound) const
QDateTime yDateTime (double x, bool &valueFound) const
bool minMax (const AbstractColumn *column1, const AbstractColumn *column2, const ErrorType errorType, const AbstractColumn *errorPlusColumn, const AbstractColumn *errorMinusColumn, int indexMin, int indexMax, double &yMin, double &yMax, bool includeErrorBars) const
bool minMaxX (int indexMin, int indexMax, double &yMin, double &yMax, bool includeErrorBars=true) const
bool minMaxY (int indexMin, int indexMax, double &yMin, double &yMax, bool includeErrorBars=true) const
bool activateCurve (QPointF mouseScenePos, double maxDist=-1) override
 XYCurve::activateCurve Checks if the mousepos distance to the curve is less than maxDist mouseScenePos maxDist Maximum distance the point lies away from the curve. More...
void setHover (bool on) override
 XYCurve::setHover Will be called in CartesianPlot::hoverMoveEvent() See d->setHover(on) for more documentation on. More...
void setVisible (bool on) override
 Show/hide the element. More...
bool isVisible () const override
 Return whether the element is (at least) partially visible. More...
void setPrinting (bool on) override
 Switches the printing mode on/off. More...
void suppressRetransform (bool)
bool isSourceDataChangedSinceLastRecalc () const
void retransform () override
 Tell the element to newly transform its graphics item into its coordinate system. More...
void recalcLogicalPoints ()
void handleResize (double horizontalRatio, double verticalRatio, bool pageResize) override
- Public Member Functions inherited from WorksheetElement
 WorksheetElement (const QString &, AspectType)
 ~WorksheetElement () override
virtual void setZValue (qreal)
virtual bool isFullyVisible () const
 Return whether the element is fully visible (i.e., including all child elements). More...
QMenu * createContextMenu () override
 Return a new context menu. More...
void horizontalPaddingChanged (float)
void verticalPaddingChanged (float)
void rightPaddingChanged (double)
void bottomPaddingChanged (double)
void symmetricPaddingChanged (double)
void hovered ()
void unhovered ()
- Public Member Functions inherited from AbstractAspect
 AbstractAspect (const QString &name, AspectType type)
 ~AbstractAspect () override
QString name () const
QString comment () const
void setCreationTime (const QDateTime &)
QDateTime creationTime () const
virtual Projectproject ()
 Return the Project this Aspect belongs to, or 0 if it is currently not part of one. More...
virtual QString path () const
 Return the path that leads from the top-most Aspect (usually a Project) to me. More...
void setHidden (bool)
 Set "hidden" property, i.e. whether to exclude this aspect from being shown in the explorer. More...
bool hidden () const
void setIsLoading (bool)
bool isLoading () const
AspectType type () const
bool inherits (AspectType type) const
AbstractAspectparentAspect () const
 Return my parent Aspect or 0 if I currently don't have one. More...
AbstractAspectparent (AspectType type) const
 In the parent-child hierarchy, return the first parent of type. More...
void setParentAspect (AbstractAspect *)
Folderfolder ()
 Return the folder the Aspect is contained in or 0 if there is none. More...
bool isDescendantOf (AbstractAspect *other)
 Return whether the there is a path upwards to the given aspect. More...
void addChild (AbstractAspect *)
 Add the given Aspect to my list of children. More...
void addChildFast (AbstractAspect *)
 Add the given Aspect to my list of children without any checks and without putting this step onto the undo-stack. More...
QVector< AbstractAspect * > children (AspectType type, ChildIndexFlags flags={}) const
void insertChildBefore (AbstractAspect *child, AbstractAspect *before)
 Insert the given Aspect at a specific position in my list of children. More...
void insertChildBeforeFast (AbstractAspect *child, AbstractAspect *before)
 Insert the given Aspect at a specific position in my list of children.without any checks and without putting this step onto the undo-stack. More...
void reparent (AbstractAspect *newParent, int newIndex=-1)
 Move a child to another parent aspect and transfer ownership. More...
void removeChild (AbstractAspect *)
 Remove the given Aspect from my list of children. More...
void removeAllChildren ()
 Remove all child Aspects. More...
virtual QVector< AbstractAspect * > dependsOn () const
virtual bool isDraggable () const
virtual QVector< AspectTypedropableOn () const
virtual void processDropEvent (const QVector< quintptr > &)
template<class T >
T * ancestor () const
 Return the closest ancestor of class T (or NULL if none found). More...
template<class T >
QVector< T * > children (ChildIndexFlags flags={}) const
template<class T >
T * child (int index, ChildIndexFlags flags={}) const
template<class T >
T * child (const QString &name) const
 Get child by name and class. More...
template<class T >
int childCount (ChildIndexFlags flags={}) const
 Return the number of child Aspects inheriting from given class. More...
template<class T >
int indexOfChild (const AbstractAspect *child, ChildIndexFlags flags={}) const
 Return (0 based) index of child in the list of children inheriting from class T. More...
void setSelected (bool)
void setUndoAware (bool)
virtual QUndoStack * undoStack () const
 Return the undo stack of the Project, or 0 if this Aspect is not part of a Project. More...
void exec (QUndoCommand *)
 Execute the given command, pushing it on the undoStack() if available. More...
void exec (QUndoCommand *command, const char *preChangeSignal, const char *postChangeSignal, QGenericArgument val0=QGenericArgument(), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument())
 Execute command and arrange for signals to be sent before/after it is redone or undone. More...
void beginMacro (const QString &text)
 Begin an undo stack macro (series of commands) More...
void endMacro ()
 End the current undo stack macro. More...
- Public Member Functions inherited from Curve
 Curve ()
virtual ~Curve ()

Protected Member Functions

 XYInterpolationCurve (const QString &name, XYInterpolationCurvePrivate *dd)
- Protected Member Functions inherited from XYAnalysisCurve
 XYAnalysisCurve (const QString &name, XYAnalysisCurvePrivate *dd, AspectType type)
- Protected Member Functions inherited from XYCurve
 XYCurve (const QString &name, XYCurvePrivate *dd, AspectType type)
- Protected Member Functions inherited from AbstractAspect
void info (const QString &text)
 Implementations should call this whenever status information should be given to the user. More...
bool readBasicAttributes (XmlStreamReader *)
 Load name and creation time from XML. More...
void writeBasicAttributes (QXmlStreamWriter *) const
 Save name and creation time to XML. More...
void writeCommentElement (QXmlStreamWriter *) const
 Save the comment to XML. More...
bool readCommentElement (XmlStreamReader *)
 Load comment from an XML element. More...

Additional Inherited Members

- Public Slots inherited from XYAnalysisCurve
void handleSourceDataChanged ()
- Public Slots inherited from WorksheetElement
- Public Slots inherited from AbstractAspect
bool setName (const QString &, bool autoUnique=true)
 AbstractAspect::setName sets the name of the abstract aspect. More...
void setComment (const QString &)
void remove ()
 Remove me from my parent's list of children. More...
- Static Public Member Functions inherited from XYAnalysisCurve
static void copyData (QVector< double > &xData, QVector< double > &yData, const AbstractColumn *xDataColumn, const AbstractColumn *yDataColumn, double xMin, double xMax)
- Static Public Member Functions inherited from WorksheetElement
static QPainterPath shapeFromPath (const QPainterPath &, const QPen &)
- Protected Slots inherited from AbstractAspect
virtual void childSelected (const AbstractAspect *)
virtual void childDeselected (const AbstractAspect *)
- Protected Attributes inherited from XYCurve
XYCurvePrivate *const d_ptr
- Protected Attributes inherited from AbstractAspect
const AspectType m_type

Detailed Description

A xy-curve defined by an interpolation.

File : XYInterpolationCurve.cpp Project : LabPlot

Description : A xy-curve defined by an interpolation

Copyright : (C) 2016 Stefan Gerlach ( Copyright : (C) 2016-2017 Alexander Semke (

  • 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 *

Definition at line 41 of file XYInterpolationCurve.h.

Member Typedef Documentation

◆ Private

Member Enumeration Documentation

◆ PointsMode


Definition at line 45 of file XYInterpolationCurve.h.

Constructor & Destructor Documentation

◆ XYInterpolationCurve() [1/2]

XYInterpolationCurve::XYInterpolationCurve ( const QString &  name)

Definition at line 56 of file XYInterpolationCurve.cpp.

◆ ~XYInterpolationCurve()

XYInterpolationCurve::~XYInterpolationCurve ( )

◆ XYInterpolationCurve() [2/2]

XYInterpolationCurve::XYInterpolationCurve ( const QString &  name,
XYInterpolationCurvePrivate dd 

Definition at line 60 of file XYInterpolationCurve.cpp.

Member Function Documentation

◆ icon()

QIcon XYInterpolationCurve::icon ( ) const

Returns an icon to be used in the project explorer.

Reimplemented from XYCurve.

Definition at line 76 of file XYInterpolationCurve.cpp.

◆ interpolationDataChanged

void XYInterpolationCurve::interpolationDataChanged ( const XYInterpolationCurve::InterpolationData )

◆ interpolationResult()

const XYInterpolationCurve::InterpolationResult & XYInterpolationCurve::interpolationResult ( ) const

◆ load()

◆ recalculate()

void XYInterpolationCurve::recalculate ( )

Implements XYAnalysisCurve.

Definition at line 68 of file XYInterpolationCurve.cpp.

References AbstractAspect::d.

◆ save()

void XYInterpolationCurve::save ( QXmlStreamWriter *  writer) const

Save as XML.

Reimplemented from XYAnalysisCurve.

Definition at line 427 of file XYInterpolationCurve.cpp.

References AbstractAspect::d, and XYAnalysisCurve::save().

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