MeshPtr Rotate(MeshPtr mesh, Quaternion<float> rotate) {
     GeometrySetPtr newGeom = Rotate(mesh->GetGeometrySet(), rotate);
     
     return MeshPtr(new Mesh(mesh->GetIndices(),
                             mesh->GetType(),
                             newGeom,
                             mesh->GetMaterial(),
                             mesh->GetIndexOffset(),
                             mesh->GetDrawingRange()));
 }
 MeshPtr Translate(MeshPtr mesh, Vector<3, float> move) {
     GeometrySetPtr newGeom = Translate(mesh->GetGeometrySet(), move);
     
     return MeshPtr(new Mesh(mesh->GetIndices(),
                             mesh->GetType(),
                             newGeom,
                             mesh->GetMaterial(),
                             mesh->GetIndexOffset(),
                             mesh->GetDrawingRange()));
 }