examples/vr_crop/quickhull.js
function(eyeVertex, horizon) {
      this.newFaces = [];

      var firstSideEdge = null;
      var previousSideEdge = null;

      for (var i = 0; i < horizon.length; i++) {
        var horizonEdge = horizon[i];

        // returns the right side edge

        var sideEdge = this.addAdjoiningFace(eyeVertex, horizonEdge);

        if (firstSideEdge === null) {
          firstSideEdge = sideEdge;
        } else {
          // joins face.getEdge( 1 ) with previousFace.getEdge( 0 )

          sideEdge.next.setTwin(previousSideEdge);
        }

        this.newFaces.push(sideEdge.face);
        previousSideEdge = sideEdge;
      }

      // perform final join of new faces

      firstSideEdge.next.setTwin(previousSideEdge);

      return this;
    }
function(eyeVertex, horizon) {
      this.newFaces = [];

      var firstSideEdge = null;
      var previousSideEdge = null;

      for (var i = 0; i < horizon.length; i++) {
        var horizonEdge = horizon[i];

        // returns the right side edge

        var sideEdge = this.addAdjoiningFace(eyeVertex, horizonEdge);

        if (firstSideEdge === null) {
          firstSideEdge = sideEdge;
        } else {
          // joins face.getEdge( 1 ) with previousFace.getEdge( 0 )

          sideEdge.next.setTwin(previousSideEdge);
        }

        this.newFaces.push(sideEdge.face);
        previousSideEdge = sideEdge;
      }

      // perform final join of new faces

      firstSideEdge.next.setTwin(previousSideEdge);

      return this;
    }
Adds 'horizon.length' faces to the hull, each face will be linked with the horizon opposite face and the face on the left/right