void OutCoreInterp::update_third_quadrant(int fileNum, double data_z, int base_x, int base_y, double x, double y) { int i; int j; //int lb = gridMap[fileNum]->getOverlapLowerBound(); for(i = base_x; i >= 0; i--) { //for(j = base_y; j >= lb; j--) for(j = base_y; j >= 0; j--) { double distance = ((base_x - i)*GRID_DIST_X + x) * ((base_x - i)*GRID_DIST_X + x) + ((base_y - j)*GRID_DIST_Y + y) * ((base_y - j)*GRID_DIST_Y + y); if(distance <= radius_sqr) { updateGridPoint(fileNum, i, j, data_z, sqrt(distance)); } else if(j == base_y){ return; } else { break; } } } }
void OutCoreInterp::update_fourth_quadrant(int fileNum, double data_z, int base_x, int base_y, double x, double y) { int i, j; //int lb = gridMap[fileNum]->getOverlapLowerBound(); for(i = base_x; i < GRID_SIZE_X; i++) { //for(j = base_y; j >= lb; j--) for(j = base_y; j >= 0; j--) { double distance = ((i - base_x)*GRID_DIST_X + x) * ((i - base_x)*GRID_DIST_X + x) + ((base_y - j)*GRID_DIST_Y + y) * ((base_y - j)*GRID_DIST_Y + y); if(distance <= radius_sqr) { //printf("(%d %d) ", i, j); //interp[i][j]++; updateGridPoint(fileNum, i, j, data_z, sqrt(distance)); } else if (j == base_y) { return ; } else { break; } } } }
void OutCoreInterp::update_second_quadrant(int fileNum, double data_z, int base_x, int base_y, double x, double y) { int i; int j; int ub = gridMap[fileNum]->getOverlapUpperBound() - gridMap[fileNum]->getOverlapLowerBound(); //int ub = gridMap[fileNum]->getOverlapUpperBound(); for(i = base_x; i >= 0; i--) { for(j = base_y; j < ub; j++) { double distance = ((base_x - i)*GRID_DIST_X + x) * ((base_x - i)*GRID_DIST_X + x) + ((j - base_y)*GRID_DIST_Y + y) * ((j - base_y)*GRID_DIST_Y + y); if(distance <= radius_sqr) { //printf("(%d %d) ", i, j); //interp[i][j]++; updateGridPoint(fileNum, i, j, data_z, sqrt(distance)); } else if(j == base_y){ return; } else { break; } } } }
void OutCoreInterp::update_first_quadrant(int fileNum, double data_z, int base_x, int base_y, double x, double y) { // base_x, base_y: local coordinates int i; int j; int ub = gridMap[fileNum]->getOverlapUpperBound() - gridMap[fileNum]->getOverlapLowerBound(); for(i = base_x; i < GRID_SIZE_X; i++) { for(j = base_y; j < ub; j++) { // i, j, base_x, base_y: local coordinates double distance = ((i - base_x)*GRID_DIST_X + x) * ((i - base_x)*GRID_DIST_X + x) + ((j - base_y)*GRID_DIST_Y + y) * ((j - base_y)*GRID_DIST_Y + y) ; if(distance <= radius_sqr) { // update GridPoint updateGridPoint(fileNum, i, j, data_z, distance); } else if(j == base_y) { //printf("return "); return; } else { //printf("break "); break; } } } }
void InCoreInterp::update_third_quadrant(double data_z, int base_x, int base_y, double x, double y) { int i; int j; for(i = base_x; i >= 0; i--) { for(j = base_y; j >= 0; j--) { double distance = ((base_x - i)*GRID_DIST_X + x) * ((base_x - i)*GRID_DIST_X + x) + ((base_y - j)*GRID_DIST_Y + y) * ((base_y - j)*GRID_DIST_Y + y); if(distance <= radius_sqr) { //if(j == 30) //printf("(%d %d)\n", i, j); //interp[i][j]++; updateGridPoint(i, j, data_z, sqrt(distance)); } else if(j == base_y) { return; } else { break; } } } }
void InCoreInterp::update_first_quadrant(double data_z, int base_x, int base_y, double x, double y) { int i; int j; //double temp; //printf("radius: %f ", radius_sqrt); for(i = base_x; i < GRID_SIZE_X; i++) { for(j = base_y; j < GRID_SIZE_Y; j++) { /* temp = ( ((i - base_x)*GRID_DIST + x) * ((i - base_x)*GRID_DIST + x) + ((j - base_y)*GRID_DIST + y) * ((j - base_y)*GRID_DIST + y)) ; printf("%f ", temp); */ double distance = ((i - base_x)*GRID_DIST_X + x) * ((i - base_x)*GRID_DIST_X + x) + ((j - base_y)*GRID_DIST_Y + y) * ((j - base_y)*GRID_DIST_Y + y) ; if(distance <= radius_sqr) { //printf("(%d %d) ", i, j); //interp[i][j]++; // update GridPoint updateGridPoint(i, j, data_z, sqrt(distance)); } else if(j == base_y) { //printf("return "); return; } else { //printf("break "); break; } } } //cerr << "test2" << endl; }
void InCoreInterp::update_fourth_quadrant(double data_z, int base_x, int base_y, double x, double y) { int i, j; for(i = base_x; i < GRID_SIZE_X; i++) { for(j = base_y; j >= 0; j--) { double distance = ((i - base_x)*GRID_DIST_X + x) * ((i - base_x)*GRID_DIST_X + x) + ((base_y - j)*GRID_DIST_Y + y) * ((base_y - j)*GRID_DIST_Y + y); if(distance <= radius_sqr) { //printf("(%d %d) ", i, j); //interp[i][j]++; updateGridPoint(i, j, data_z, sqrt(distance)); } else if (j == base_y) { return ; } else { break; } } } }