Return ray intersections number.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(aabb_node_object), | intent(in) | :: | self | AABB. |
||
| type(vector_R8P), | intent(in) | :: | ray_origin | Ray origin. |
||
| type(vector_R8P), | intent(in) | :: | ray_direction | Ray direction. |
Intersection number.
pure function ray_intersections_number(self, ray_origin, ray_direction) result(intersections_number)
!< Return ray intersections number.
class(aabb_node_object), intent(in) :: self !< AABB.
type(vector_R8P), intent(in) :: ray_origin !< Ray origin.
type(vector_R8P), intent(in) :: ray_direction !< Ray direction.
integer(I4P) :: intersections_number !< Intersection number.
intersections_number = 0
if (allocated(self%aabb)) &
intersections_number = self%aabb%ray_intersections_number(ray_origin=ray_origin, ray_direction=ray_direction)
endfunction ray_intersections_number