void initialize_map( carmen_vascocore_map_t * map, int sx, int sy, int center_x, int center_y, double resolution, carmen_point_t start ) { int x, y; map->mapsize.x = sx; map->mapsize.y = sy; map->resolution = resolution; map->offset = start; if (carmen_vascocore_settings.verbose) { fprintf( stderr, "* INFO: allocating memory ... " ); } map->updated = carmen_mdalloc( 2, sizeof(unsigned char), sx, sy ); carmen_test_alloc(map->updated); map->maphit = carmen_mdalloc( 2, sizeof(float), sx, sy ); carmen_test_alloc(map->maphit); map->mapsum = carmen_mdalloc( 2, sizeof(short), sx, sy ); carmen_test_alloc(map->mapsum); map->mapprob = carmen_mdalloc( 2, sizeof(float), sx, sy ); carmen_test_alloc(map->mapprob); map->calc = carmen_mdalloc( 2, sizeof(float), sx, sy ); carmen_test_alloc(map->calc); if (carmen_vascocore_settings.verbose) { fprintf( stderr, "done\n" ); } map->center.x = center_x; map->center.y = center_y; if (carmen_vascocore_settings.verbose) { fprintf( stderr, "* INFO: map: %d %d\n", map->mapsize.x, map->mapsize.y ); fprintf( stderr, "* INFO: center: %.1f %.1f\n", map->center.x, map->center.y ); fprintf( stderr, "* INFO: resolution: %.2f\n", map->resolution ); fprintf( stderr, "* INFO: real-size: [%.1f %.1f] [%.1f %.1f]\n", -sx*map->resolution, sx*map->resolution, -sy*map->resolution, sy*map->resolution ); fprintf( stderr, "***************************************\n" ); } for (x=0;x<sx;x++) { for (y=0;y<sy;y++) { map->mapprob[x][y] = carmen_vascocore_settings.local_map_std_val; map->calc[x][y] = carmen_vascocore_settings.local_map_std_val; map->maphit[x][y] = 0.0; map->mapsum[x][y] = 0; map->updated[x][y] = UPDT_NOT; } } initialize_qtree( &(map->qtree), sx, sy ); }
void initialize_map( MAP2 *map, int sx, int sy, int center_x, int center_y, double resolution, logtools_rpos2_t start ) { int x, y, j; map->mapsize.x = sx; map->mapsize.y = sy; map->resolution = resolution; map->offset = start; fprintf( stderr, "* INFO: allocating memory ... " ); if (1) { map->updated = (unsigned char **) mdalloc( 2, sizeof(unsigned char), sx, sy ); map->maphit = (float **) mdalloc( 2, sizeof(float), sx, sy ); map->mapsum = (short **) mdalloc( 2, sizeof(short), sx, sy ); map->mapprob = (float **) mdalloc( 2, sizeof(float), sx, sy ); map->calc = (float **) mdalloc( 2, sizeof(float), sx, sy ); } else { map->updated = (unsigned char **) malloc( sx * sizeof(unsigned char *) ); map->maphit = (float **) malloc( sx * sizeof(float *) ); map->mapsum = (short **) malloc( sx * sizeof(short *) ); map->mapprob = (float **) malloc( sx * sizeof(float *) ); map->calc = (float **) malloc( sx * sizeof(float *) ); for (j=0; j<sx; j++) { map->updated[j] = (unsigned char *) malloc( sy * sizeof(unsigned char) ); map->maphit[j] = (float *) malloc( sy * sizeof(float) ); map->mapsum[j] = (short *) malloc( sy * sizeof(short) ); map->mapprob[j] = (float *) malloc( sy * sizeof(float) ); map->calc[j] = (float *) malloc( sy * sizeof(float) ); } } fprintf( stderr, "done\n" ); map->center.x = center_x; map->center.y = center_y; fprintf( stderr, "* INFO: map: %d %d\n", map->mapsize.x, map->mapsize.y ); fprintf( stderr, "* INFO: center: %.1f %.1f\n", map->center.x, map->center.y ); fprintf( stderr, "* INFO: resolution: %.2f\n", map->resolution ); fprintf( stderr, "* INFO: real-size: [%.1f %.1f] [%.1f %.1f]\n", -sx*map->resolution, sx*map->resolution, -sy*map->resolution, sy*map->resolution ); fprintf( stderr, "***************************************\n" ); fprintf( stderr, "* INFO: clearing map ... " ); for (x=0;x<sx;x++) { for (y=0;y<sy;y++) { map->mapprob[x][y] = settings.local_map_std_val; map->calc[x][y] = settings.local_map_std_val; map->maphit[x][y] = 0.0; map->mapsum[x][y] = 0; map->updated[x][y] = UPDT_NOT; } } initialize_qtree( &(map->qtree), sx, sy ); fprintf( stderr, "***************************************\n" ); }