code: function parseGeometry( xml ) {
  
              var data = {
                  name: xml.getAttribute( 'name' ),
                  sources: {},
                  vertices: {},
                  primitives: []
              };
  
              var mesh = getElementsByTagName( xml, 'mesh' )[ 0 ];
  
              for ( var i = 0; i < mesh.childNodes.length; i++ ) {
  
                  var child = mesh.childNodes[ i ];
  
                  if ( child.nodeType !== 1 ) continue;
  
                  var id = child.getAttribute( 'id' );
  
                  switch ( child.nodeName ) {
  
                      case 'source':
                          data.sources[ id ] = parseSource( child );
                          break;
  
                      case 'vertices':
                          // data.sources[ id ] = data.sources[ parseId( getElementsByTagName( child, 'input' )[ 0 ].getAttribute( 'source' ) ) ];
                          data.vertices = parseGeometryVertices( child );
                          break;
  
                      case 'polygons':
                          console.warn( 'ColladaLoader: Unsupported primitive type: ', child.nodeName );
                          break;
  
                      case 'lines':
                      case 'linestrips':
                      case 'polylist':
                      case 'triangles':
                          data.primitives.push( parseGeometryPrimitive( child ) );
                          break;
  
                      default:
                          console.log( child );
  
                  }
  
              }
  
              library.geometries[ xml.getAttribute( 'id' ) ] = data;
  
          }
docs: geometry