Lines Matching refs:index
176 static int cellbound(grid *g, gridindex *index, vector *cmin, vector *cmax) { in cellbound() argument
181 cur = g->cells[index->z * g->xsize * g->ysize + index->y * g->xsize + index->x]; in cellbound()
186 cellmin.x = voxel2x(g, index->x); in cellbound()
187 cellmin.y = voxel2y(g, index->y); in cellbound()
188 cellmin.z = voxel2z(g, index->z); in cellbound()
277 gridindex index; in engrid_scene() local
299 for (index.z = 0; index.z < g->zsize; index.z++) { in engrid_scene()
300 for (index.y = 0; index.y < g->ysize; index.y++) { in engrid_scene()
301 for (index.x = 0; index.x < g->xsize; index.x++) { in engrid_scene()
302 engrid_cell(g, &index); in engrid_scene()
332 static int engrid_cell(grid *gold, gridindex *index) { in engrid_cell() argument
340 list = &gold->cells[index->z * gold->xsize * gold->ysize + index->y * gold->xsize + index->x]; in engrid_cell()
345 numobj = cellbound(gold, index, &gmin, &gmax); in engrid_cell()
446 static int pos2grid(grid *g, vector *pos, gridindex *index) { in pos2grid() argument
447 index->x = (int)((pos->x - g->min.x) / g->voxsize.x); in pos2grid()
448 index->y = (int)((pos->y - g->min.y) / g->voxsize.y); in pos2grid()
449 index->z = (int)((pos->z - g->min.z) / g->voxsize.z); in pos2grid()
451 if (index->x == g->xsize) in pos2grid()
452 index->x--; in pos2grid()
453 if (index->y == g->ysize) in pos2grid()
454 index->y--; in pos2grid()
455 if (index->z == g->zsize) in pos2grid()
456 index->z--; in pos2grid()
458 if (index->x < 0 || index->x > g->xsize || index->y < 0 || index->y > g->ysize || in pos2grid()
459 index->z < 0 || index->z > g->zsize) in pos2grid()