void blockShow(int x,int y,int blockVolume, int pointX[],int pointY[],bool mk) { for(int i=0;i<blockVolume;i++) { gotoxy((x-pointMin(pointX,blockVolume)+pointX[i])*2,(y-pointMin(pointY,blockVolume)+pointY[i])); if(mk==true) printf("%s",play_Block); else printf("%s",space); } }
Group* MeshControl::gerateGroup(uint16_t *mesh, int var = 1){ IDMatrix = new unsigned int[640*480]; Group *group = new Group; pointMin(640,480,1535); pointMax(0,0,0); int form[4]; if(SMOOTH_TYPE == 1){ form[0] = 3; form[1] = 0; form[2] = 1; form[3] = 2; }else if(SMOOTH_TYPE == 2){ form[0] = 0; form[1] = 4; form[2] = 1; form[3] = 2; }else{ form[0] = 0; form[1] = 1; form[2] = 2; form[3] = -1; } for(int k = 0; k < 4; k++){ switch(form[k]){ case 0:{ cout << " generating Vertices" << endl; gerateVertices(group, mesh, var); }break; case 1:{ cout << " generating Faces" << endl; gerateFaces(group, var); }break; case 2:{ cout << " generating Normals" << endl; gerateNormals(group); }break; case 3:{ cout << " Smoothing" << endl; int auxVector[] = {1, 3, 5, 10}; for(int i = 0; i < auxVector[SMOOTH_REPEAT]; i++) smoothGaussian(&mesh, var); }break; case 4:{ cout << " Smoothing" << endl; int auxVector[] = {10, 25, 50, 100}; for(int i = 0; i < auxVector[SMOOTH_REPEAT]; i++){ smoothLaplacian(group, var); for(int j = 0; j < group->vertices.size(); j++) group->vertices[j]->point.z = group->vertices[j]->point.nz; } }break; } } cout << endl; delete IDMatrix; return group; }