- leaf = bih->leafs + (-1-nodenum);
- if (mins[0] > leaf->maxs[0] || maxs[0] < leaf->mins[0]
- || mins[1] > leaf->maxs[1] || maxs[1] < leaf->mins[1]
- || mins[2] > leaf->maxs[2] || maxs[2] < leaf->mins[2])
- return;
- switch(leaf->type)
- {
- case BIH_RENDERTRIANGLE:
- if (*numtrianglespointer >= maxtriangles)
- {
- ++*numtrianglespointer; // so the caller can detect overflow
- break;
- }
- if(trianglelist_surf)
- trianglelist_surf[*numtrianglespointer] = leaf->surfaceindex;
- trianglelist_idx[*numtrianglespointer] = leaf->itemindex;
- ++*numtrianglespointer;
- break;
- default:
- break;
- }