From 72e0b8f93ac85ed9412f558f348e6ff52d10a2a1 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Tue, 19 Feb 2008 02:40:02 +0000 Subject: [PATCH] more getter-usage, and moving the getTrackIndexFromPos()-method to the module it's used in --- editor/syncdocument.cpp | 12 ++++++++++++ editor/syncdocument.h | 2 ++ editor/synctracker2.cpp | 2 +- sync/data.cpp | 11 ----------- sync/data.h | 9 +++------ sync/device_client.cpp | 13 ++++++++----- 6 files changed, 26 insertions(+), 23 deletions(-) diff --git a/editor/syncdocument.cpp b/editor/syncdocument.cpp index 2070a5c..4410c16 100644 --- a/editor/syncdocument.cpp +++ b/editor/syncdocument.cpp @@ -6,6 +6,18 @@ SyncDocument::~SyncDocument() clearRedoStack(); } +size_t SyncDocument::getTrackIndexFromPos(size_t track) const +{ + assert(track < tracks.size()); + + sync::Data::TrackContainer::const_iterator trackIter = tracks.begin(); + for (size_t currTrack = 0; currTrack < track; ++currTrack, ++trackIter); + + assert(tracks.end() != trackIter); + return trackIter->second; +} + + #import named_guids bool SyncDocument::load(const std::string &fileName) diff --git a/editor/syncdocument.h b/editor/syncdocument.h index 06c68e1..2ee16cb 100644 --- a/editor/syncdocument.h +++ b/editor/syncdocument.h @@ -262,6 +262,8 @@ public: return cmd; } + size_t getTrackIndexFromPos(size_t track) const; + bool load(const std::string &fileName); bool save(const std::string &fileName); diff --git a/editor/synctracker2.cpp b/editor/synctracker2.cpp index 1206145..30a7980 100644 --- a/editor/synctracker2.cpp +++ b/editor/synctracker2.cpp @@ -461,7 +461,7 @@ int _tmain(int argc, _TCHAR* argv[]) // setup remap document.clientRemap[serverIndex] = clientIndex; - const sync::Track &track = *document.actualTracks[serverIndex]; + const sync::Track &track = document.getTrack(serverIndex); sync::Track::KeyFrameContainer::const_iterator it; for (it = track.keyFrames.begin(); it != track.keyFrames.end(); ++it) diff --git a/sync/data.cpp b/sync/data.cpp index c705308..c9df3cd 100644 --- a/sync/data.cpp +++ b/sync/data.cpp @@ -34,17 +34,6 @@ Track &Data::getTrack(const std::basic_string &name) return *actualTracks[index]; } -size_t Data::getTrackIndexFromPos(size_t track) -{ - assert(track < tracks.size()); - - sync::Data::TrackContainer::iterator trackIter = tracks.begin(); - for (size_t currTrack = 0; currTrack < track; ++currTrack, ++trackIter); - - assert(tracks.end() != trackIter); - return trackIter->second; -} - size_t Data::getTrackCount() const { return tracks.size(); diff --git a/sync/data.h b/sync/data.h index 9022a66..26606dc 100644 --- a/sync/data.h +++ b/sync/data.h @@ -23,22 +23,19 @@ namespace sync ~Data(); size_t getTrackIndex(const std::basic_string &name); Track &getTrack(const std::basic_string &name); - - size_t getTrackIndexFromPos(size_t track); - + Track &getTrack(size_t track) { assert(track < actualTracks.size()); assert(NULL != actualTracks[track]); return *actualTracks[track]; } - + size_t getTrackCount() const; - // private: typedef std::map, size_t> TrackContainer; - // typedef std::map, SyncTrack> TrackContainer; TrackContainer tracks; +// protected: std::vector actualTracks; }; } diff --git a/sync/device_client.cpp b/sync/device_client.cpp index 4573905..385e93a 100644 --- a/sync/device_client.cpp +++ b/sync/device_client.cpp @@ -40,14 +40,17 @@ ClientDevice::~ClientDevice() Track &ClientDevice::getTrack(const std::string &trackName) { +/* const size_t oldCount = syncData.getTrackCount(); + Track &track = syncData.getTrack(trackName); + if (oldCount == syncData.getTrackCount()) return track; */ + sync::Data::TrackContainer::iterator iter = syncData.tracks.find(trackName); - if (iter != syncData.tracks.end()) return *syncData.actualTracks[iter->second]; + if (iter != syncData.tracks.end()) return syncData.getTrack(iter->second); unsigned char cmd = GET_TRACK; send(serverSocket, (char*)&cmd, 1, 0); - size_t clientIndex = syncData.actualTracks.size(); - + size_t clientIndex = syncData.getTrackCount(); send(serverSocket, (char*)&clientIndex, sizeof(size_t), 0); // send request data @@ -58,10 +61,10 @@ Track &ClientDevice::getTrack(const std::string &trackName) send(serverSocket, name_str, int(name_len), 0); sync::Track *track = new sync::Track(); - syncData.actualTracks.push_back(track); syncData.tracks[trackName] = clientIndex; return *track; +// return track; } bool ClientDevice::update(float row) @@ -95,7 +98,7 @@ bool ClientDevice::update(float row) assert(interp >= 0); assert(interp < Track::KeyFrame::IT_COUNT); - sync::Track &t = *syncData.actualTracks[track]; + sync::Track &t = syncData.getTrack(track); t.setKeyFrame(row, Track::KeyFrame( value,