SkeletonState::SkeletonState() { if(g_mpiRank == 0) { // create display group interface boost::shared_ptr<DisplayGroupJoystick> dgj(new DisplayGroupJoystick(g_displayGroupManager)); displayGroup_ = dgj; // default mode is focused interaction focusInteraction_ = true; // not in control control_ = false; // hands inactive leftHandActive_ = rightHandActive_ = false; // don't have an active window activeWindow_ = false; // start timers modeChangeTimeOut_.start(); } }
main(){ int np,n,i; double *z,*w,*p,sum=0,alpha,beta; double **d,**dt; z = dvector(0,NPUPPER-1); w = dvector(0,NPUPPER-1); p = dvector(0,NPUPPER-1); d = dmatrix(0,NPUPPER-1,0,NPUPPER-1); dt = dmatrix(0,NPUPPER-1,0,NPUPPER-1); #if GAUSS_INT /* Gauss Integration */ printf("Begin checking Gauss integration\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgj(z,w,np,alpha,beta); fprintf(stdout,"%lf \n",sum); for(n = 2; n < 2*np-1; ++n){ jacobf(np,z,p,n,alpha,beta); sum = ddot(np,w,1,p,1); if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d integal was %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Integration\n"); #endif #if GAUSS_RADAU_INT /* Gauss Radau Integration */ printf("Begin checking Gauss Radau Integration\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgrj(z,w,np,alpha,beta); for(n = 2; n < 2*np-2; ++n){ jacobf(np,z,p,n,alpha,beta); sum = ddot(np,w,1,p,1); if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d integal was %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Radau Integration\n"); #endif #if GAUSS_LOBATTO_INT /* Gauss Lobatto Integration */ printf("Begin checking Gauss Lobatto integration\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwglj(z,w,np,alpha,beta); for(n = 2; n < 2*np-3; ++n){ jacobf(np,z,p,n,alpha,beta); sum = ddot(np,w,1,p,1); if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d integal was %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Lobatto Integration\n"); #endif #if GAUSS_DIFF printf("Begin checking differentiation through Gauss points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ dgj(d,dt,z,np,alpha,beta); for(i = 0; i < np; ++i) p[i] = pow(z[i],n); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - n*pow(z[i],n-1)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Jacobi differentiation\n"); #endif #if GAUSS_RADAU_DIFF printf("Begin checking differentiation through Gauss Radau points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgrj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ dgrj(d,dt,z,np,alpha,beta); for(i = 0; i < np; ++i) p[i] = pow(z[i],n); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - n*pow(z[i],n-1)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Radau differentiation\n"); #endif #if GAUSS_LOBATTO_DIFF printf("Begin checking differentiation through Gauss Lobatto points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwglj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ dglj(d,dt,z,np,alpha,beta); for(i = 0; i < np; ++i) p[i] = pow(z[i],n); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - n*pow(z[i],n-1)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Lobatto differentiation\n"); #endif /* check interpolation routines */ #if GAUSS_INTERP printf("Begin checking Interpolation through Gauss points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ for(i = 0; i < np; ++i) { w[i] = 2.0*i/(double)(np-1)-1.0; p[i] = pow(z[i],n); } igjm(d,z,w,np,np,alpha,beta); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - pow(w[i],n)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Jacobi differentiation\n"); #endif #if GAUSS_RADAU_INTERP printf("Begin checking Interpolation through Gauss Radau points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwgrj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ for(i = 0; i < np; ++i) { w[i] = 2.0*i/(double)(np-1)-1.0; p[i] = pow(z[i],n); } igrjm(d,z,w,np,np,alpha,beta); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - pow(w[i],n)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Jacobi differentiation\n"); #endif #if GAUSS_LOBATTO_INTERP printf("Begin checking Interpolation through Gauss Lobatto points\n"); alpha = -0.5; while(alpha <= 5.0){ beta = -0.5; while(beta <= 5.0){ for(np = NPLOWER; np <= NPUPPER; ++np){ zwglj(z,w,np,alpha,beta); for(n = 2; n < np-1; ++n){ for(i = 0; i < np; ++i) { w[i] = 2.0*i/(double)(np-1)-1.0; p[i] = pow(z[i],n); } igljm(d,z,w,np,np,alpha,beta); sum = 0; for(i = 0; i < np; ++i) sum += fabs(ddot(np,d[i],1,p,1) - pow(w[i],n)); sum /= np; if(fabs(sum)>EPS) printf("alpha = %lf, beta = %lf, np = %d, n = %d difference %lg\n" ,alpha,beta,np,n,sum); } } beta += 0.5; } printf("finished checking all beta values for alpha = %lf\n",alpha); alpha += 0.5; } printf("Finished checking Gauss Lobatto differentiation\n"); #endif free(z); free(w); free(p); free_dmatrix(d,0,0); free_dmatrix(dt,0,0); }