15 double x_min, x_max, y_min, y_max, z_min, z_max;
20 x_min = x_max =
mesh->
node[nodeID * 3];
21 y_min = y_max =
mesh->
node[nodeID * 3 + 1];
22 z_min = z_max =
mesh->
node[nodeID * 3 + 2];
29 if (x_min > x) x_min = x;
30 if (x_max < x) x_max = x;
31 if (y_min > y) y_min = y;
32 if (y_max < y) y_max = y;
33 if (z_min > z) z_min = z;
34 if (z_max < z) z_max = z;
57 extent_xyz = (
double *)
HECMW_calloc(n_voxel * 3,
sizeof(
double));
58 result_xyz = (
double *)
HECMW_calloc(n_voxel * 3,
sizeof(
double));
60 for (i = 0; i < n_voxel * 3; i++) {
68 for (j = 0; j < n_voxel; j++) {
81 if (extent_xyz[j * 3] > (
extent[i * 6 + 1] -
extent[i * 6]))
83 if (extent_xyz[j * 3 + 1] > (
extent[i * 6 + 3] -
extent[i * 6 + 2]))
84 extent_xyz[j * 3 + 1] =
extent[i * 6 + 3] -
extent[i * 6 + 2];
85 if (extent_xyz[j * 3 + 2] > (
extent[i * 6 + 5] -
extent[i * 6 + 4]))
86 extent_xyz[j * 3 + 2] =
extent[i * 6 + 5] -
extent[i * 6 + 4];
102 for (i = 0; i < n_voxel; i++) {
103 result_xyz[i] = extent_xyz[i];
123 for (i = 0; i < n_voxel; i++) {
128 if (result_xyz[i * 3 + 1] !=
voxel_dxyz[i * 3 + 1]) {
129 level[i * 3 + 1] = (int)(
voxel_dxyz[i * 3 + 1] / result_xyz[i * 3 + 1]);
131 level[i * 3 + 1] = 0;
132 if (result_xyz[i * 3 + 2] !=
voxel_dxyz[i * 3 + 2]) {
133 level[i * 3 + 2] = (int)(
voxel_dxyz[i * 3 + 2] / result_xyz[i * 3 + 2]);
135 level[i * 3 + 2] = 0;