define window for showing a mussa alignment
[mussa.git] / alg / glseqbrowser.cpp
index cb6b0e3b0633c12d7306e6bfabfb7c29acc82844..70637a0dae60a12df2af47015545ec81ed79d927 100644 (file)
@@ -76,8 +76,8 @@ void GlSeqBrowser::processSelection(GLuint hits, GLuint buffer[], GLuint bufsize
   GLuint pair_key_0 = 0;
   GLuint pair_key_1 = 0;
 
-  selectedPaths.clear();
-  selectedTracks.clear();
+  selected_paths.clear();
+  selected_tracks.clear();
 
   std::cout << "hits = " << hits << std::endl;
   ptr = (GLuint *) buffer;
@@ -104,7 +104,7 @@ void GlSeqBrowser::processSelection(GLuint hits, GLuint buffer[], GLuint bufsize
             psm_i = path_segments[path_index].find(k);
             if (psm_i != path_segments[path_index].end()) {
               Segment &seg = psm_i->second;
-              selectedPaths.insert(seg.path_ids.begin(), seg.path_ids.end());
+              selected_paths.insert(seg.path_ids.begin(), seg.path_ids.end());
             }
             // else something else is wrong
           } else {
@@ -116,7 +116,7 @@ void GlSeqBrowser::processSelection(GLuint hits, GLuint buffer[], GLuint bufsize
           break;
         case MussaTrack:
           objid = *ptr++; ++consumed_names;
-          selectedTracks.insert(objid);
+          selected_tracks.insert(objid);
         break;
         default:
           cout << "unknown type " << objtype << " ";
@@ -317,6 +317,11 @@ GlSeqBrowser::link(const vector<int>& path, const vector<bool>& rc, int length)
   ++pathid;
 }
 
+const set<int>& GlSeqBrowser::selectedPaths() const
+{
+  return selected_paths;
+}
+
 void GlSeqBrowser::update_viewport(float center, int new_zoom)
 {
   float max_width = max_ortho.width();
@@ -429,18 +434,18 @@ void GlSeqBrowser::draw_segments() const
       const Segment &s = psm_i->second;
       // need to do something so we can detect our selection
       vector<int> selected;
-      set_intersection(selectedPaths.begin(), selectedPaths.end(),
+      set_intersection(selected_paths.begin(), selected_paths.end(),
                        s.path_ids.begin(), s.path_ids.end(),
                        back_inserter(selected));
 
       if (not s.reversed) {
-        if (selectedPaths.size() == 0 or selected.size() > 0) {
+        if (selected_paths.size() == 0 or selected.size() > 0) {
           glColor3f(1.0, 0.0, 0.0);
         } else {
           glColor3f(1.0, 0.8, 0.8);
         }
       } else { 
-        if (selectedPaths.size() == 0 or selected.size() > 0) {
+        if (selected_paths.size() == 0 or selected.size() > 0) {
           glColor3f(0.0, 0.0, 1.0);
         } else {
           glColor3f(0.8, 0.8, 1.0);