chunk_bounds Subroutine

private subroutine chunk_bounds(self, j, first, n, lo, hi)

Chunk j's points (strips: first .. first + n - 1 of the chain) and the bounding box of them (n = 0 if none are measured yet), e.g. to skip a chunk when picking.

Type Bound

LineChain

Arguments

Type IntentOptional Attributes Name
class(LineChain), intent(in) :: self
integer, intent(in) :: j

the chunk

integer, intent(out) :: first

its first point (chain index), and points written (0: none)

integer, intent(out) :: n

its first point (chain index), and points written (0: none)

real(kind=wp), intent(out) :: lo(3)

the bounding box's corners

real(kind=wp), intent(out) :: hi(3)

the bounding box's corners


Source Code

    subroutine chunk_bounds(self, j, first, n, lo, hi)
        class(LineChain), intent(in) :: self
        integer, intent(in) :: j                !! the chunk
        integer, intent(out) :: first, n        !! its first point (chain index), and points written (0: none)
        real(wp), intent(out) :: lo(3), hi(3)   !! the bounding box's corners
        first = self%chunks(j)%first
        n = self%chunks(j)%n_written
        lo = self%chunks(j)%box_lo
        hi = self%chunks(j)%box_hi
    end subroutine chunk_bounds