SimCenterCommon
Common functionality used within different SimCenter projects
|
Describes a data range given by begin and end index. More...
#include <qcustomplot.h>
Public Member Functions | |
QCPDataRange () | |
QCPDataRange (int begin, int end) | |
bool | operator== (const QCPDataRange &other) const |
bool | operator!= (const QCPDataRange &other) const |
int | begin () const |
int | end () const |
int | size () const |
int | length () const |
void | setBegin (int begin) |
void | setEnd (int end) |
bool | isValid () const |
bool | isEmpty () const |
QCPDataRange | bounded (const QCPDataRange &other) const |
QCPDataRange | expanded (const QCPDataRange &other) const |
QCPDataRange | intersection (const QCPDataRange &other) const |
QCPDataRange | adjusted (int changeBegin, int changeEnd) const |
bool | intersects (const QCPDataRange &other) const |
bool | contains (const QCPDataRange &other) const |
Related Functions | |
(Note that these are not member functions.) | |
QDebug | operator<< (QDebug d, const QCPDataRange &dataRange) |
Describes a data range given by begin and end index.
QCPDataRange holds two integers describing the begin (setBegin) and end (setEnd) index of a contiguous set of data points. The end index points to the data point above the last data point that's part of the data range, similarly to the nomenclature used in standard iterators.
Data Ranges are not bound to a certain plottable, thus they can be freely exchanged, created and modified. If a non-contiguous data set shall be described, the class QCPDataSelection is used, which holds and manages multiple instances of QCPDataRange. In most situations, QCPDataSelection is thus used.
Both QCPDataRange and QCPDataSelection offer convenience methods to work with them, e.g. bounded, expanded, intersects, intersection, adjusted, contains. Further, addition and subtraction operators (defined in QCPDataSelection) can be used to join/subtract data ranges and data selections (or mixtures), to retrieve a corresponding QCPDataSelection.
QCustomPlot's data selection mechanism is based on QCPDataSelection and QCPDataRange.
Definition at line 887 of file qcustomplot.h.
QCPDataRange::QCPDataRange | ( | ) |
Creates an empty QCPDataRange, with begin and end set to 0.
Definition at line 2225 of file qcustomplot.cpp.
Creates a QCPDataRange, initialized with the specified begin and end.
No checks or corrections are made to ensure the resulting range is valid (isValid).
Definition at line 2236 of file qcustomplot.cpp.
|
inline |
Returns a data range where changeBegin and changeEnd were added to the begin and end indices, respectively.
Definition at line 912 of file qcustomplot.h.
|
inline |
Definition at line 897 of file qcustomplot.h.
QCPDataRange QCPDataRange::bounded | ( | const QCPDataRange & | other | ) | const |
Returns a data range that matches this data range, except that parts exceeding other are excluded.
This method is very similar to intersection, with one distinction: If this range and the other range share no intersection, the returned data range will be empty with begin and end set to the respective boundary side of other, at which this range is residing. (intersection would just return a range with begin and end set to 0.)
Definition at line 2251 of file qcustomplot.cpp.
bool QCPDataRange::contains | ( | const QCPDataRange & | other | ) | const |
Returns whether all data points described by this data range are also in other.
Definition at line 2307 of file qcustomplot.cpp.
|
inline |
Definition at line 898 of file qcustomplot.h.
QCPDataRange QCPDataRange::expanded | ( | const QCPDataRange & | other | ) | const |
Returns a data range that contains both this data range as well as other.
Definition at line 2267 of file qcustomplot.cpp.
QCPDataRange QCPDataRange::intersection | ( | const QCPDataRange & | other | ) | const |
Returns the data range which is contained in both this data range and other.
This method is very similar to bounded, with one distinction: If this range and the other range share no intersection, the returned data range will be empty with begin and end set to 0. (bounded would return a range with begin and end set to one of the boundaries of other, depending on which side this range is on.)
Definition at line 2282 of file qcustomplot.cpp.
bool QCPDataRange::intersects | ( | const QCPDataRange & | other | ) | const |
Returns whether this data range and other share common data points.
Definition at line 2296 of file qcustomplot.cpp.
|
inline |
Returns whether this range is empty, i.e. whether its begin index equals its end index.
Definition at line 908 of file qcustomplot.h.
|
inline |
Returns whether this range is valid. A valid range has a begin index greater or equal to 0, and an end index greater or equal to the begin index.
Definition at line 907 of file qcustomplot.h.
|
inline |
Returns the number of data points described by this data range. Equivalent to size.
Definition at line 900 of file qcustomplot.h.
|
inline |
Definition at line 894 of file qcustomplot.h.
|
inline |
Definition at line 893 of file qcustomplot.h.
|
inline |
Sets the begin of this data range. The begin index points to the first data point that is part of the data range.
No checks or corrections are made to ensure the resulting range is valid (isValid).
Definition at line 903 of file qcustomplot.h.
|
inline |
Sets the end of this data range. The end index points to the data point just above the last data point that is part of the data range.
No checks or corrections are made to ensure the resulting range is valid (isValid).
Definition at line 904 of file qcustomplot.h.
|
inline |
Returns the number of data points described by this data range. This is equal to the end index minus the begin index.
Definition at line 899 of file qcustomplot.h.
|
related |
Prints dataRange in a human readable format to the qDebug output.
Definition at line 1060 of file qcustomplot.h.