#include <curveprovider.h>
|
| void | pointsChanged (int firstIndex, int count) |
| | Points in [firstIndex, firstIndex+count) had their (x,y) updated.
|
| |
| void | pointsInserted (int at, int count) |
| | count points were inserted starting at at.
|
| |
| void | pointsRemoved (int at, int count) |
| | count points were removed starting at at.
|
| |
| void | nameChanged (QString prev, QString now) |
| | Curve was renamed; dependent-reference cascading is the registry's job.
|
| |
| void | typeChanged (CurveType prev, CurveType now) |
| | Curve type changed (axis labels rebuild).
|
| |
| void | mutationRejected (QString reason) |
| | A mutator was refused because it would have violated an invariant.
|
| |
|
| | CurveProvider (QString name, CurveType type, QObject *parent=nullptr) |
| |
| | ~CurveProvider () override |
| |
| QString | name () const noexcept |
| |
| CurveType | type () const noexcept |
| |
| int | pointCount () const noexcept |
| |
| const CurvePoint & | pointAt (int i) const |
| |
| const QVector< CurvePoint > & | points () const noexcept |
| |
| bool | setAllPoints (QVector< CurvePoint > newPoints, QString *reasonOut=nullptr) |
| | Replace the entire point list. Validates strict-monotone X before applying. Atomic.
|
| |
| bool | setYAt (int i, double newY, QString *reasonOut=nullptr) |
| | Change the Y value at index i; X stays put so monotonicity is preserved by construction.
|
| |
| bool | setPointAt (int i, double newX, double newY, QString *reasonOut=nullptr) |
| | Change both X + Y at index i. Validates that the new X still slots strictly between neighbours.
|
| |
| int | insertPoint (double x, double y, QString *reasonOut=nullptr) |
| | Insert one point. Returns the new index on success; -1 if X collides or would break monotonicity.
|
| |
| void | removePointsAt (QVector< int > indices) |
| | Remove points by index. Indices are deduplicated + sorted descending internally so the loop is safe.
|
| |
| void | setName (QString newName) |
| | Rename the curve. Uniqueness is the registry's responsibility; this just stores + notifies.
|
| |
| void | setType (CurveType t) |
| | Switch curve type. Does NOT touch points (X/Y still numeric); axis labels rebuild via signals.
|
| |
|
| static QString | xLabel (CurveType t) |
| | Short axis label for the X column for the given curve type.
|
| |
| static QString | yLabel (CurveType t) |
| | Short axis label for the Y column for the given curve type.
|
| |
| static QString | typeLabel (CurveType t) |
| | Human-readable type name ("Storage", "Pump 1: Volume → Flow", …).
|
| |
◆ CurveProvider()
| openswmmvis::curve::CurveProvider::CurveProvider |
( |
QString |
name, |
|
|
CurveType |
type, |
|
|
QObject * |
parent = nullptr |
|
) |
| |
◆ ~CurveProvider()
| openswmmvis::curve::CurveProvider::~CurveProvider |
( |
| ) |
|
|
overridedefault |
◆ insertPoint()
| int openswmmvis::curve::CurveProvider::insertPoint |
( |
double |
x, |
|
|
double |
y, |
|
|
QString * |
reasonOut = nullptr |
|
) |
| |
Insert one point. Returns the new index on success; -1 if X collides or would break monotonicity.
◆ mutationRejected
| void openswmmvis::curve::CurveProvider::mutationRejected |
( |
QString |
reason | ) |
|
|
signal |
A mutator was refused because it would have violated an invariant.
◆ name()
| QString openswmmvis::curve::CurveProvider::name |
( |
| ) |
const |
|
inlinenoexcept |
◆ nameChanged
| void openswmmvis::curve::CurveProvider::nameChanged |
( |
QString |
prev, |
|
|
QString |
now |
|
) |
| |
|
signal |
Curve was renamed; dependent-reference cascading is the registry's job.
◆ pointAt()
| const CurvePoint & openswmmvis::curve::CurveProvider::pointAt |
( |
int |
i | ) |
const |
|
inline |
◆ pointCount()
| int openswmmvis::curve::CurveProvider::pointCount |
( |
| ) |
const |
|
inlinenoexcept |
◆ points()
| const QVector< CurvePoint > & openswmmvis::curve::CurveProvider::points |
( |
| ) |
const |
|
inlinenoexcept |
◆ pointsChanged
| void openswmmvis::curve::CurveProvider::pointsChanged |
( |
int |
firstIndex, |
|
|
int |
count |
|
) |
| |
|
signal |
Points in [firstIndex, firstIndex+count) had their (x,y) updated.
◆ pointsInserted
| void openswmmvis::curve::CurveProvider::pointsInserted |
( |
int |
at, |
|
|
int |
count |
|
) |
| |
|
signal |
count points were inserted starting at at.
◆ pointsRemoved
| void openswmmvis::curve::CurveProvider::pointsRemoved |
( |
int |
at, |
|
|
int |
count |
|
) |
| |
|
signal |
count points were removed starting at at.
◆ removePointsAt()
| void openswmmvis::curve::CurveProvider::removePointsAt |
( |
QVector< int > |
indices | ) |
|
Remove points by index. Indices are deduplicated + sorted descending internally so the loop is safe.
◆ setAllPoints()
| bool openswmmvis::curve::CurveProvider::setAllPoints |
( |
QVector< CurvePoint > |
newPoints, |
|
|
QString * |
reasonOut = nullptr |
|
) |
| |
Replace the entire point list. Validates strict-monotone X before applying. Atomic.
◆ setName()
| void openswmmvis::curve::CurveProvider::setName |
( |
QString |
newName | ) |
|
Rename the curve. Uniqueness is the registry's responsibility; this just stores + notifies.
◆ setPointAt()
| bool openswmmvis::curve::CurveProvider::setPointAt |
( |
int |
i, |
|
|
double |
newX, |
|
|
double |
newY, |
|
|
QString * |
reasonOut = nullptr |
|
) |
| |
Change both X + Y at index i. Validates that the new X still slots strictly between neighbours.
◆ setType()
| void openswmmvis::curve::CurveProvider::setType |
( |
CurveType |
t | ) |
|
Switch curve type. Does NOT touch points (X/Y still numeric); axis labels rebuild via signals.
◆ setYAt()
| bool openswmmvis::curve::CurveProvider::setYAt |
( |
int |
i, |
|
|
double |
newY, |
|
|
QString * |
reasonOut = nullptr |
|
) |
| |
Change the Y value at index i; X stays put so monotonicity is preserved by construction.
◆ type()
| CurveType openswmmvis::curve::CurveProvider::type |
( |
| ) |
const |
|
inlinenoexcept |
◆ typeChanged
Curve type changed (axis labels rebuild).
◆ typeLabel()
| QString openswmmvis::curve::CurveProvider::typeLabel |
( |
CurveType |
t | ) |
|
|
static |
Human-readable type name ("Storage", "Pump 1: Volume → Flow", …).
◆ xLabel()
| QString openswmmvis::curve::CurveProvider::xLabel |
( |
CurveType |
t | ) |
|
|
static |
Short axis label for the X column for the given curve type.
◆ yLabel()
| QString openswmmvis::curve::CurveProvider::yLabel |
( |
CurveType |
t | ) |
|
|
static |
Short axis label for the Y column for the given curve type.
The documentation for this class was generated from the following files: