diff -u CLAM/src/Processing/Controls/ControlTrace.cxx CLAM/src/Processing/Controls/ControlTrace.cxx --- CLAM/src/Processing/Controls/ControlTrace.cxx (revision 0) +++ CLAM/src/Processing/Controls/ControlTrace.cxx (revision 0) @@ -33,16 +33,16 @@ { ControlTraceEvent::ControlTraceEvent() - : mSteps(1) + : mRepeats(0) { } ControlTraceEvent::ControlTraceEvent(const ControlTraceEvent &obj) - : mSteps(obj.mSteps) + : mRepeats(obj.mRepeats) , mValues(obj.mValues) { } ControlTraceEvent::ControlTraceEvent(const InControlArray &inputs) - : mSteps(1) + : mRepeats(0) { mValues.resize(inputs.Size()); for (int i = 0; i < inputs.Size(); i++) @@ -60,7 +60,7 @@ XMLIterableAdapter vAdapter(mValues, "x", "controls", true); storage.Load(vAdapter); - XMLAdapter sAdapter(mSteps, "repeats", true); + XMLAdapter sAdapter(mRepeats, "repeats", true); storage.Load(sAdapter); } @@ -69,9 +69,9 @@ XMLIterableAdapter vAdapter(mValues, "x", "controls", true); storage.Store(vAdapter); - if (mSteps > 1) + if (mRepeats) { - XMLAdapter sAdapter(mSteps, "repeats", true); + XMLAdapter sAdapter(mRepeats, "repeats", true); storage.Store(sAdapter); } } @@ -137,7 +137,7 @@ { ControlTraceEvent &prev = mEvents.back(); if (prev.ValuesEqual(data)) - prev.AddStep(); + prev.WasRepeated(); else mEvents.push_back(data); } @@ -300,7 +300,7 @@ bool ControlTraceReader::ConcreteStart() { mIterator = mTrace.Begin(); - mStepCounter = 0; + mRepeatCounter = 0; return true; } @@ -312,14 +312,15 @@ const ControlTraceEvent &event = *mIterator; // if this is the zeroth (first) step, update the controls - if (!mStepCounter) + if (!mRepeatCounter) event.UpdateControls(mOutputs); // if this step completes the current event, advance and reset counter - if (++mStepCounter == event.Steps()) { + if (mRepeatCounter++ == event.Repeats()) { mIterator++; - mStepCounter = 0; + mRepeatCounter = 0; } + return true; } diff -u CLAM/src/Processing/Controls/ControlTrace.hxx CLAM/src/Processing/Controls/ControlTrace.hxx --- CLAM/src/Processing/Controls/ControlTrace.hxx (revision 0) +++ CLAM/src/Processing/Controls/ControlTrace.hxx (revision 0) @@ -52,8 +52,9 @@ void LoadFrom( Storage& storage); void StoreOn( Storage& storage ) const; - void AddStep() { mSteps++; } - unsigned int Steps() const { return mSteps; } + void WasRepeated() { mRepeats++; } + unsigned int Repeats() const { return mRepeats; } + size_t Size() const { return mValues.size(); } void UpdateControls(OutControlArray &array) const; @@ -61,7 +62,7 @@ bool ValuesEqual(const ControlTraceEvent &rhs) const; private: - unsigned int mSteps; + unsigned int mRepeats; ValueArray mValues; }; @@ -137,7 +138,7 @@ ControlTraceReaderConfig mConfig; ControlTraceData mTrace; ControlTraceData::EventList::iterator mIterator; - unsigned int mStepCounter; + unsigned int mRepeatCounter; OutControlArray mOutputs; };