|
[Fortran] 纯文本查看 复制代码 02 | type ( point ) , dimension ( : ) , pointer :: points |
03 | type ( octree_node ) , dimension ( : ) , pointer :: children |
04 | real :: x_min , x_max , y_min , y_max , z_min , z_max |
09 | recursive subroutine build_octree ( node , points , x_min , x_max , & |
10 | y_min , y_max , z_min , z_max ) |
11 | type ( octree_node ) , pointer :: node |
12 | type ( point ) , dimension ( : ) , pointer :: points |
13 | real , intent ( in ) :: x_min , x_max , y_min , y_max , z_min , z_max |
14 | integer :: i , j , k , num_points , num_children |
15 | real :: x_mid , y_mid , z_mid |
20 | num_children = num_children + 1 |
21 | allocate ( node % children ( num_children ) ) |
22 | call build_octree ( node % children ( num_children ) , points , & |
23 | x_min + i * ( x_mid - x_min ) , x_min + ( i +1 ) * ( x_mid - x_min ) , & |
24 | y_min + j * ( y_mid - y_min ) , y_min + ( j +1 ) * ( y_mid - y_min ) , & |
25 | z_min + k * ( z_mid - z_min ) , z_min + ( k +1 ) * ( z_mid - z_min ) ) |
30 | end subroutine build_octree |
这里截取了一部分问题代码,在递归调用函数时第一个变量出现了问题,如果第一个变量改为node则可以运行,是因为node%children(num_children)不是指针吗,不太明白,希望大佬们帮忙看看。
|
|