Initialize AABB.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(aabb_node_object), | intent(inout) | :: | self | AABB. |
||
| type(facet_object), | intent(in), | optional | :: | facet(:) | Facets list. |
|
| type(vector_R8P), | intent(in), | optional | :: | bmin | Minimum point of AABB. |
|
| type(vector_R8P), | intent(in), | optional | :: | bmax | Maximum point of AABB. |
pure subroutine initialize(self, facet, bmin, bmax)
!< Initialize AABB.
class(aabb_node_object), intent(inout) :: self !< AABB.
type(facet_object), intent(in), optional :: facet(:) !< Facets list.
type(vector_R8P), intent(in), optional :: bmin !< Minimum point of AABB.
type(vector_R8P), intent(in), optional :: bmax !< Maximum point of AABB.
call self%destroy
if (present(facet).or.(present(bmin).and.present(bmin))) then
allocate(self%aabb)
call self%aabb%initialize(facet=facet, bmin=bmin, bmax=bmax)
endif
endsubroutine initialize