isEdgeRotatable(edge) {
    let vertexA = this.graph.vertices[edge.sourceId];
    let vertexB = this.graph.vertices[edge.targetId]; // Only single bonds are rotatable

    if (edge.bondType !== '-') {
      return false;
    } // Do not rotate edges that have a further single bond to each side - do that!
    // If the bond is terminal, it doesn't make sense to rotate it
    // if (vertexA.getNeighbourCount() + vertexB.getNeighbourCount() < 5) {
    //   return false;
    // }


    if (vertexA.isTerminal() || vertexB.isTerminal()) {
      return false;
    } // Ringbonds are not rotatable


    if (vertexA.value.rings.length > 0 && vertexB.value.rings.length > 0 && this.areVerticesInSameRing(vertexA, vertexB)) {
      return false;
    }

    return true;
  }
Check whether or not an edge is rotatable.

@param {Edge} edge An edge.
@returns {Boolean} A boolean indicating whether or not the edge is rotatable.