index method

void index()

Implementation

void index() {
  if (_indices.isNotEmpty) {
    return;
  }

  final indexMap = HashMap<Vertex, int>();
  final oldVertices = List<Vertex>.from(_vertices);
  _vertices.clear();

  for (final vertex in oldVertices) {
    var idx = indexMap[vertex];
    if (idx == null) {
      idx = indexMap.length;
      _vertices.add(vertex);
      indexMap[vertex] = idx;
    }
    _indices.add(idx);
  }
}