Defines | |
#define | NRRD_CELL_POS(min, max, size, idx) AIR_AFFINE(0, (idx) + 0.5, (size), (min), (max)) |
#define | NRRD_NODE_POS(min, max, size, idx) AIR_AFFINE(0, (idx), (size)-1, (min), (max)) |
#define | NRRD_POS(center, min, max, size, idx) |
#define | NRRD_CELL_IDX(min, max, size, pos) (AIR_AFFINE((min), (pos), (max), 0, (size)) - 0.5) |
#define | NRRD_NODE_IDX(min, max, size, pos) AIR_AFFINE((min), (pos), (max), 0, (size)-1) |
#define | NRRD_IDX(center, min, max, size, pos) |
#define | NRRD_SPACING(center, min, max, size) |
#define | NRRD_COORD_UPDATE(coord, size, dim) |
#define | NRRD_COORD_INCR(coord, size, dim, idx) |
#define | NRRD_INDEX_GEN(I, coord, size, dim) |
#define | NRRD_COORD_GEN(coord, size, dim, I) |
#define NRRD_CELL_IDX | ( | min, | |||
max, | |||||
size, | |||||
pos | ) | (AIR_AFFINE((min), (pos), (max), 0, (size)) - 0.5) |
#define NRRD_CELL_POS | ( | min, | |||
max, | |||||
size, | |||||
idx | ) | AIR_AFFINE(0, (idx) + 0.5, (size), (min), (max)) |
#define NRRD_COORD_GEN | ( | coord, | |||
size, | |||||
dim, | |||||
I | ) |
Value:
do { \ unsigned int d; \ for (d=0; d<=(dim)-1; d++) { \ (coord)[d] = I % (size)[d]; \ I /= (size)[d]; \ } \ } while (0)
#define NRRD_COORD_INCR | ( | coord, | |||
size, | |||||
dim, | |||||
idx | ) |
Value:
do { \ unsigned int d; \ for (d=idx, (coord)[d]++; \ d < (dim)-1 && (coord)[d] == (size)[d]; \ d++) { \ (coord)[d] = 0; \ (coord)[d+1]++; \ } \ } while (0)
#define NRRD_COORD_UPDATE | ( | coord, | |||
size, | |||||
dim | ) |
Value:
do { \ unsigned int d; \ for (d=0; \ d < (dim)-1 && (coord)[d] == (size)[d]; \ d++) { \ (coord)[d] = 0; \ (coord)[d+1]++; \ } \ } while (0)
#define NRRD_IDX | ( | center, | |||
min, | |||||
max, | |||||
size, | |||||
pos | ) |
Value:
(nrrdCenterCell == (center) \ ? NRRD_CELL_IDX((min), (max), (size), (pos)) \ : NRRD_NODE_IDX((min), (max), (size), (pos)))
#define NRRD_INDEX_GEN | ( | I, | |||
coord, | |||||
size, | |||||
dim | ) |
Value:
do { \ int d; \ for (d=(dim)-1, (I)=(coord)[d--]; \ d >= 0; \ d--) { \ (I) = (coord)[d] + (size)[d]*(I); \ } \ } while (0)
#define NRRD_NODE_IDX | ( | min, | |||
max, | |||||
size, | |||||
pos | ) | AIR_AFFINE((min), (pos), (max), 0, (size)-1) |
#define NRRD_NODE_POS | ( | min, | |||
max, | |||||
size, | |||||
idx | ) | AIR_AFFINE(0, (idx), (size)-1, (min), (max)) |
#define NRRD_POS | ( | center, | |||
min, | |||||
max, | |||||
size, | |||||
idx | ) |
Value:
(nrrdCenterCell == (center) \ ? NRRD_CELL_POS((min), (max), (size), (idx)) \ : NRRD_NODE_POS((min), (max), (size), (idx)))
#define NRRD_SPACING | ( | center, | |||
min, | |||||
max, | |||||
size | ) |
Value:
(nrrdCenterCell == center \ ? ((max) - (min))/(size) \ : ((max) - (min))/((size) - 1)) \