Skip to content

Commit 8797162

Browse files
Merge branch 'hlrs-vis:master' into kite-fix-2
2 parents 6eed5ed + 406ec1b commit 8797162

5 files changed

Lines changed: 48 additions & 44 deletions

File tree

src/OpenCOVER/cover/coVRAnimationManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ void opencover::coVRAnimationManager::setAnimationSkipMax(int maxFrames)
459459
}
460460

461461
bool
462-
coVRAnimationManager::animationRunning()
462+
coVRAnimationManager::animationRunning() const
463463
{
464464
return m_animRunning;
465465
}

src/OpenCOVER/cover/coVRAnimationManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class COVEREXPORT coVRAnimationManager
9292
void setAnimationSpeedMax(float maxSpeed);
9393
void setAnimationSkip(int frames, bool ignoreMax = false);
9494
void setAnimationSkipMax(int maxFrames);
95-
bool animationRunning();
95+
bool animationRunning() const;
9696
void enableAnimation(bool state);
9797
void setRemoteAnimationFrame(int currentFrame);
9898
void setRemoteAnimate(bool state);

src/module/general/ReadEnsight/CaseFile.cpp

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <iostream>
2020
#include <boost/algorithm/string.hpp>
2121

22+
static const int DefaultTimeSet = 1;
23+
2224
//
2325
// Constructor
2426
//
@@ -172,22 +174,21 @@ int CaseFile::getGeoTsIdx() const
172174

173175
void CaseFile::addTimeSet(TimeSet *ts)
174176
{
175-
timeSets_.push_back(ts);
176177
int idx = ts->getIdx();
177178
if (idx < 0) {
178179
std::cerr << "CaseFile::addTimeSet: invalid time set index " << idx << std::endl;
179-
idx = 0;
180180
return;
181181
}
182-
if (idx >= 0 && idx >= timeSets_.size()) {
183-
timeSets_.resize(idx + 1);
184-
}
182+
lastTimeSet_ = ts;
185183
timeSets_[idx] = ts;
186184
}
187185

188-
const TimeSet *CaseFile::getTimeSet(int idx) const
186+
TimeSet *CaseFile::getTimeSet(int idx) const
189187
{
190-
return timeSets_[idx];
188+
auto it = timeSets_.find(idx);
189+
if (it == timeSets_.end())
190+
return nullptr;
191+
return it->second;
191192
}
192193

193194
const TimeSet *CaseFile::getTimeSet(const std::string &field) const
@@ -198,45 +199,30 @@ const TimeSet *CaseFile::getTimeSet(const std::string &field) const
198199
<< std::endl;
199200
return nullptr;
200201
}
201-
std::cerr << "CaseFile::getTimeSet: field " << field << ": mapping to idx " << it->second << std::endl;
202-
if (it->second < 0) {
203-
return nullptr;
204-
}
205-
if (it->second >= timeSets_.size()) {
206-
return nullptr;
202+
auto ts = it->second;
203+
std::cerr << "CaseFile::getTimeSet: field " << field << ": mapping to idx " << ts << std::endl;
204+
if (ts < 0) {
205+
ts = DefaultTimeSet;
207206
}
208-
return timeSets_[it->second];
207+
return getTimeSet(ts);
209208
}
210209

211210
const TimeSet *CaseFile::getGeoTimeSet() const
212211
{
213-
if (geoTsIdx_ < 0)
214-
return nullptr;
215-
if (geoTsIdx_ >= timeSets_.size())
216-
return nullptr;
217-
return timeSets_[geoTsIdx_];
212+
auto ts = geoTsIdx_;
213+
if (ts < 0)
214+
ts = DefaultTimeSet;
215+
return getTimeSet(ts);
218216
}
219217

220218
const TimeSet *CaseFile::getLastTimeSet() const
221219
{
222-
return timeSets_.back();
220+
return lastTimeSet_;
223221
}
224222

225223
TimeSet *CaseFile::getLastTimeSet()
226224
{
227-
return timeSets_.back();
228-
}
229-
230-
std::vector<float> CaseFile::getAllRealTimes() const
231-
{
232-
std::set<float> times;
233-
for (auto ts = timeSets_.begin(); ts != timeSets_.end(); ts++) {
234-
std::vector<float> rts = (*ts)->getRealTimes();
235-
times.insert(rts.begin(), rts.end());
236-
}
237-
std::vector<float> ret;
238-
std::copy(times.begin(), times.end(), std::back_inserter(ret));
239-
return ret;
225+
return lastTimeSet_;
240226
}
241227

242228
std::vector<std::string> CaseFile::makeFileNames(const std::string &baseName, const TimeSet *refts) const
@@ -267,13 +253,31 @@ std::vector<std::string> CaseFile::makeFileNames(const std::string &baseName, co
267253

268254
TimeSets CaseFile::getAllTimeSets() const
269255
{
256+
auto used = usedTimeSets_;
257+
used.insert(DefaultTimeSet);
270258
TimeSets ts;
271-
for (int idx: usedTimeSets_) {
272-
ts.push_back(timeSets_[idx]);
259+
for (int idx: used) {
260+
auto t = getTimeSet(idx);
261+
if (t)
262+
ts.push_back(getTimeSet(idx));
273263
}
274264
return ts;
275265
}
276266

267+
std::vector<float> CaseFile::getAllRealTimes() const
268+
{
269+
std::set<float> times;
270+
auto timesets = getAllTimeSets();
271+
for (auto ts = timesets.begin(); ts != timesets.end(); ts++) {
272+
std::vector<float> rts = (*ts)->getRealTimes();
273+
times.insert(rts.begin(), rts.end());
274+
}
275+
std::vector<float> ret;
276+
std::copy(times.begin(), times.end(), std::back_inserter(ret));
277+
return ret;
278+
}
279+
280+
277281
//
278282
// Destructor
279283
//

src/module/general/ReadEnsight/CaseFile.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ class CaseFile {
7575
bool empty() const { return empty_; };
7676

7777
void addTimeSet(TimeSet *ts);
78-
TimeSets getAllTimeSets() const;
78+
TimeSet *getLastTimeSet();
7979
const TimeSet *getLastTimeSet() const;
80-
const TimeSet *getTimeSet(int idx) const;
80+
TimeSets getAllTimeSets() const;
81+
TimeSet *getTimeSet(int idx) const;
8182
const TimeSet *getTimeSet(const std::string &field) const;
8283
const TimeSet *getGeoTimeSet() const;
83-
TimeSet *getLastTimeSet();
8484
std::vector<float> getAllRealTimes() const;
8585

8686
std::vector<std::string> makeFileNames(const std::string &baseName, const TimeSet *ts) const;
@@ -94,12 +94,13 @@ class CaseFile {
9494
std::string fullFilename_;
9595
std::string dir_;
9696
std::string projectNm_;
97-
TimeSets timeSets_;
97+
std::map<int, TimeSet *> timeSets_;
9898
std::map<std::string, int> fieldMap_;
9999
int geoTsIdx_; // time set index of geometry
100100
BinType binType_ = UNKNOWN;
101101
int connectivityFileIndex_ = -1; // index of the connectivity file, -1: all time steps
102102
std::set<int> usedTimeSets_;
103+
TimeSet *lastTimeSet_ = nullptr;
103104
};
104105

105106
// simple data class to store time step information

src/module/general/ReadEnsight/ReadEnsight.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,9 @@ void ReadEnsight::param(const char *paramName, bool inMapLoading)
198198
readGeo_ = true;
199199
// this is dirty TBD do it better
200200
////// print Number of Timesteps
201-
const TimeSets &ts = case_.getAllTimeSets();
202-
TimeSets::const_iterator tsIter;
201+
const TimeSets ts = case_.getAllTimeSets();
203202
int numTs = 0;
204-
for (tsIter = ts.begin(); tsIter != ts.end(); ++tsIter)
203+
for (auto tsIter = ts.begin(); tsIter != ts.end(); ++tsIter)
205204
{
206205
numTs += (*tsIter)->getNumTs();
207206
}

0 commit comments

Comments
 (0)