var Converter = {};

Converter.toGeometry = function (bg) {
    // The following snippet is from Mattatz - Masatatsu Nakamura http://mattatz.org
    var attrib = bg.getAttribute('position');
    if(attrib === undefined) {
        throw new Error('a given BufferGeometry object must have a position attribute.');
    }

    var positions = attrib.array;

    var vertices = [];

    for(var i = 0, n = positions.length; i < n; i += 3) {
        var x = positions[i];
        var y = positions[i + 1];
        var z = positions[i + 2];
        vertices.push(new THREE.Vector3(x, y, z));
    }

    var faces = [];

    for(var i = 0, n = vertices.length; i < n; i += 3) {
        faces.push(new THREE.Face3(i, i + 1, i + 2));
    }

    var geometry = new THREE.Geometry();
    geometry.vertices = vertices;
    geometry.faces = faces;
    geometry.computeFaceNormals();
    return geometry;
}
