void Curve::internalUpdate() { Q_ASSERT(myLockStatus() == KstRWLock::WRITELOCKED); VectorPtr cxV = *_inputVectors.find(XVECTOR); VectorPtr cyV = *_inputVectors.find(YVECTOR); if (!cxV || !cyV) { return; } writeLockInputsAndOutputs(); MaxX = cxV->max(); MinX = cxV->min(); MeanX = cxV->mean(); MinPosX = cxV->minPos(); _ns_maxx = cxV->ns_max(); _ns_minx = cxV->ns_min(); if (MinPosX > MaxX) { MinPosX = 0; } MaxY = cyV->max(); MinY = cyV->min(); MeanY = cyV->mean(); MinPosY = cyV->minPos(); _ns_maxy = cyV->ns_max(); _ns_miny = cyV->ns_min(); if (MinPosY > MaxY) { MinPosY = 0; } NS = qMax(cxV->length(), cyV->length()); unlockInputsAndOutputs(); _redrawRequired = true; return; }