}
@Override
protected InfoProc doInBackground() throws Exception {
if (info != null){
Vetor G = info.getVetorGravidade();
Vetor B = info.getVetorMagnetico();
B = B.normalizado();
Vetor B_linha = G.projecao(B);
B_linha = B.subtrai(B_linha).normalizado();
InfoProc infoProc = new InfoProc();
infoProc.ID = info.getID();
double[] G_array = info.getArrayGravidade();
double[] B_array = new double[] {B_linha.x, B_linha.y, B_linha.z};
if (eixos % 2 == 1){
double [] eixo = {1.0, 0.0, 0.0};
double [] v = AlgoritmoMudancaDeBase.exec(G_array, B_array, eixo);
infoProc.Proj_x = new Vetor(v);
infoProc.Proj_x.x = (float)-v[0];
infoProc.Proj_x.y = (float)v[2];
infoProc.Proj_x.z = (float)-v[1];
}
if ( (eixos / 2) % 2 == 1){
double [] eixo = {0.0, 1.0, 0.0};
double [] v = AlgoritmoMudancaDeBase.exec(G_array, B_array, eixo);
infoProc.Proj_y = new Vetor(v);
}
if ( (eixos / 4) % 2 == 1){
double [] eixo = {0.0, 0.0, 1.0};
double [] v = AlgoritmoMudancaDeBase.exec(G_array, B_array, eixo);
infoProc.Proj_z = new Vetor(v);
infoProc.Proj_z.x = (float)-v[0];
infoProc.Proj_z.y = (float)v[2];
infoProc.Proj_z.z = (float)-v[1];
}