辺遷移時に通過するコーナー列(最大3点)を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i32), | intent(in) | :: | edge_from | |||
| integer(kind=i32), | intent(in) | :: | edge_to | |||
| real(kind=dp), | intent(in) | :: | x_min | |||
| real(kind=dp), | intent(in) | :: | x_max | |||
| real(kind=dp), | intent(in) | :: | y_min | |||
| real(kind=dp), | intent(in) | :: | y_max | |||
| real(kind=dp), | intent(in) | :: | z_plane | |||
| real(kind=dp), | intent(out) | :: | corners(3,3) | |||
| integer(kind=i32), | intent(out) | :: | n_corner |
subroutine transition_corners(edge_from, edge_to, x_min, x_max, y_min, y_max, z_plane, corners, n_corner) integer(i32), intent(in) :: edge_from, edge_to real(dp), intent(in) :: x_min, x_max, y_min, y_max, z_plane real(dp), intent(out) :: corners(3, 3) integer(i32), intent(out) :: n_corner integer(i32) :: k, edge_curr, edge_next corners = 0.0d0 n_corner = transition_corner_count(edge_from, edge_to) edge_curr = edge_from do k = 1, n_corner edge_next = edge_next_ccw(edge_curr) call corner_between(edge_curr, edge_next, x_min, x_max, y_min, y_max, z_plane, corners(:, k)) edge_curr = edge_next end do end subroutine transition_corners