+ Point2F *vertex;
+
+ vector< pair<int64_t, bool> > edges;
+
+ assert(_data);
+
+ const queue< shared_ptr<LogicDataSnapshot> > &snapshots =
+ _data->get_snapshots();
+ if(snapshots.empty())
+ return;
+
+ const shared_ptr<LogicDataSnapshot> &snapshot = snapshots.front();
+
+ const int64_t start = 0;
+ const int64_t end = 8000;
+ const int64_t quantization_length = 4;
+
+ snapshot->get_subsampled_edges(edges, start, end,
+ quantization_length, _probe_index);
+
+ // Paint the edges
+ const unsigned int edge_point_count = (edges.size() - 2) * 2;
+ Point2F *const edge_points = new Point2F[edge_point_count];
+ vertex = edge_points;
+
+ for(vector<LogicDataSnapshot::EdgePair>::const_iterator i = edges.begin() + 1;
+ i != edges.end() - 1; i++)
+ {
+ const int x = edge.first / quantization_length +
+ rect.left();
+
+ vertex->x = x, vertex->y = 10 + rect.top() - 1;
+ vertex++;
+ vertex->x = x, vertex->y = 40 + rect.top();
+ vertex++;
+ }