mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-06-13 22:04:36 -06:00
ScatterDraw: Added SetDataSourceInternal()
git-svn-id: svn://ultimatepp.org/upp/trunk@14512 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
c82a0d054d
commit
8a44cab4d2
3 changed files with 28 additions and 7 deletions
|
|
@ -418,6 +418,10 @@ public:
|
|||
|
||||
class Spline {
|
||||
public:
|
||||
Spline() {}
|
||||
Spline(const Vector<double> &x, const Vector<double> &y) {Fit(x, y);}
|
||||
Spline(const Eigen::VectorXd &x, const Eigen::VectorXd &y) {Fit(x, y);}
|
||||
Spline(const double *x, const double *y, int n) {Fit(x, y, n);}
|
||||
void Fit(const Vector<double> &x, const Vector<double> &y) {Fit(x.begin(), y.begin(), x.GetCount());}
|
||||
void Fit(const Eigen::VectorXd &x, const Eigen::VectorXd &y) {Fit(x.data(), y.data(), int(x.size()));}
|
||||
void Fit(const double *x, const double *y, int n);
|
||||
|
|
@ -426,7 +430,7 @@ public:
|
|||
private:
|
||||
struct Coeff {double a, b, c, d, x;};
|
||||
Buffer<Coeff> coeff;
|
||||
int ncoeff;
|
||||
int ncoeff = 0;
|
||||
};
|
||||
|
||||
class SplineEquation : public ExplicitEquation, public Spline {
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,19 @@ bool ScatterDraw::IsDataPrimaryY(int index) {
|
|||
|
||||
return series[index].primaryY;
|
||||
}
|
||||
/*
|
||||
void ScatterDraw::SetDataSourceInternal() {
|
||||
for (int i = 0; i < series.GetCount(); ++i)
|
||||
series[i].SetDataSource_Internal(true);
|
||||
}*/
|
||||
|
||||
bool ScatterDraw::ThereAreSecondaryY() {
|
||||
for (int i = 0; i < series.GetCount(); ++i)
|
||||
if (!series[i].primaryY)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void ScatterDraw::SetSequentialX(int index, bool sequential) {
|
||||
ASSERT(IsValid(index));
|
||||
ASSERT(!series[index].IsDeleted());
|
||||
|
|
|
|||
|
|
@ -229,10 +229,12 @@ protected:
|
|||
pD = pointsData;
|
||||
owns = ownsData;
|
||||
}
|
||||
void SetDataSource_Internal(bool copy = true) {
|
||||
void SetDataSourceInternal() {
|
||||
CopyInternal();
|
||||
DeletePD();
|
||||
pD = &dataS;
|
||||
if (copy)
|
||||
CopyInternal();
|
||||
serializeData = true;
|
||||
owns = false;
|
||||
}
|
||||
DataSource &Data() {return *(~pD);}
|
||||
const DataSource &Data() const {return *(~pD);}
|
||||
|
|
@ -707,8 +709,11 @@ public:
|
|||
void SetDataPrimaryY(int index, bool primary = true);
|
||||
ScatterDraw &SetDataPrimaryY(bool primary = true);
|
||||
void SetDataSecondaryY(int index, bool secondary = true);
|
||||
ScatterDraw &SetDataSecondaryY(bool secondary = true);
|
||||
ScatterDraw &SetDataSecondaryY(bool secondary = true);
|
||||
void SetRightY(int index) {SetDataSecondaryY(index);}
|
||||
ScatterDraw &SetRightY() {return SetDataSecondaryY();}
|
||||
bool IsDataPrimaryY(int index);
|
||||
bool ThereAreSecondaryY();
|
||||
|
||||
void SetSequentialX(int index, bool sequential);
|
||||
ScatterDraw &SetSequentialX(bool sequential = true);
|
||||
|
|
@ -847,12 +852,12 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
ScatterDraw& SetDataSource_Internal(bool copy = true) {
|
||||
ScatterDraw& SetDataSourceInternal() {
|
||||
for (int i = 0; i < series.GetCount(); ++i) {
|
||||
ScatterSeries &serie = series[i];
|
||||
if (serie.IsDeleted())
|
||||
continue;
|
||||
serie.SetDataSource_Internal(copy);
|
||||
serie.SetDataSourceInternal();
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue