octant_index Function

public pure function octant_index(x, y, z, center)

座標が親ノード中心のどの八分木に属するかを返す。

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x

判定する x 座標。

real(kind=dp), intent(in) :: y

判定する x 座標。 判定する y 座標。

real(kind=dp), intent(in) :: z

判定する x 座標。 判定する y 座標。 判定する z 座標。

real(kind=dp), intent(in) :: center(3)

判定する x 座標。 判定する y 座標。 判定する z 座標。

Return Value integer(kind=i32)


Called by

proc~~octant_index~~CalledByGraph proc~octant_index octant_index proc~core_build_plan_impl core_build_plan_impl proc~core_build_plan_impl->proc~octant_index proc~core_eval_point_impl core_eval_point_impl proc~core_eval_point_impl->proc~octant_index proc~core_eval_points_impl core_eval_points_impl proc~core_eval_points_impl->proc~octant_index proc~core_eval_potential_point_impl core_eval_potential_point_impl proc~core_eval_potential_point_impl->proc~octant_index proc~core_eval_potential_points_impl core_eval_potential_points_impl proc~core_eval_potential_points_impl->proc~octant_index

Source Code

  pure integer(i32) function octant_index(x, y, z, center)
    real(dp), intent(in) :: x, y, z, center(3)

    octant_index = 1_i32
    if (x >= center(1)) octant_index = octant_index + 1_i32
    if (y >= center(2)) octant_index = octant_index + 2_i32
    if (z >= center(3)) octant_index = octant_index + 4_i32
  end function octant_index