ribbon_trace_end Function

private function ribbon_trace_end(self, a, b)

In trace mode, the pair at the current time (the tail's end) as drawn; false if no tail is drawn.

Type Bound

RibbonArtist

Arguments

Type IntentOptional Attributes Name
class(RibbonArtist), intent(in) :: self
real(kind=wp), intent(out) :: a(3)

the pair's start (frame coordinates)

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

its end

Return Value logical


Calls

proc~~ribbon_trace_end~~CallsGraph proc~ribbon_trace_end RibbonArtist%ribbon_trace_end proc~line_buffer line_buffer proc~ribbon_trace_end->proc~line_buffer interface~vkf_line_points vkf_line_points proc~line_buffer->interface~vkf_line_points

Source Code

    logical function ribbon_trace_end(self, a, b)
        class(RibbonArtist), intent(in) :: self
        real(wp), intent(out) :: a(3)               !! the pair's start (frame coordinates)
        real(wp), intent(out) :: b(3)               !! its end
        real(c_float), dimension(:,:,:), pointer :: p
        a = 0.0_wp
        b = 0.0_wp
        ribbon_trace_end = self%tail_shown
        if (.not. ribbon_trace_end) return
        call line_buffer(self%tail, p)
        if (.not. associated(p)) return
        a = real(p(1:3, 1, 3), wp) + real(p(1:3, 2, 3), wp)
        b = real(p(1:3, 1, 4), wp) + real(p(1:3, 2, 4), wp)
    end function ribbon_trace_end