void convolve_prob_treemap( carmen_vascocore_quad_tree_t *tree, carmen_vascocore_map_t *map, carmen_gauss_kernel_t kernel, int hk ) { int i, j; if ((tree->level)>0 ) { if (tree->elem[0]->inuse) convolve_prob_treemap( tree->elem[0], map, kernel, hk ); if (tree->elem[1]->inuse) convolve_prob_treemap( tree->elem[1], map, kernel, hk ); if (tree->elem[2]->inuse) convolve_prob_treemap( tree->elem[2], map, kernel, hk ); if (tree->elem[3]->inuse) convolve_prob_treemap( tree->elem[3], map, kernel, hk ); } else { if ( (tree->center.x/2)>hk+1 && (tree->center.x/2)<map->mapsize.x-hk-1 && (tree->center.y/2)>hk+1 && (tree->center.y/2)<map->mapsize.y-hk-1 ) { for (i=(tree->center.x/2)-hk;i<(tree->center.x/2)+hk;i++) { for (j=(tree->center.y/2)-hk;j<(tree->center.y/2)+hk;j++) { if (map->updated[i][j] != UPDT_Y) convolve_prob_point( map, kernel, hk, i, j ); } } } } }
void convolve_prob_treemap( QUAD_TREE *tree, MAP2 *map, logtools_gauss_kernel_t kernel, int hk ) { int i, j; if ((tree->level)>0 ) { if (tree->elem[0]->inuse) convolve_prob_treemap( tree->elem[0], map, kernel, hk ); if (tree->elem[1]->inuse) convolve_prob_treemap( tree->elem[1], map, kernel, hk ); if (tree->elem[2]->inuse) convolve_prob_treemap( tree->elem[2], map, kernel, hk ); if (tree->elem[3]->inuse) convolve_prob_treemap( tree->elem[3], map, kernel, hk ); } else { if ( (tree->center.x/2)>hk+1 && (tree->center.x/2)<map->mapsize.x-hk-1 && (tree->center.y/2)>hk+1 && (tree->center.y/2)<map->mapsize.y-hk-1 ) { for (i=(tree->center.x/2)-hk;i<(tree->center.x/2)+hk;i++) { for (j=(tree->center.y/2)-hk;j<(tree->center.y/2)+hk;j++) { if (map->updated[i][j] != UPDT_Y) convolve_prob_point( map, kernel, hk, i, j ); } } } } }