drawn_marker Function

private function drawn_marker(self, which, v, i) result(shown)

Where marker which (MARKER_START, MARKER_END, or MARKER_INTERMEDIATE number i) is drawn, read back from its buffer; false if not drawn.

Type Bound

MarkerArtist

Arguments

Type IntentOptional Attributes Name
class(MarkerArtist), intent(in) :: self
integer, intent(in) :: which

MARKER_START, MARKER_END or MARKER_INTERMEDIATE

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

where it is drawn (frame coordinates)

integer, intent(in), optional :: i

the intermediate marker's number (1 to num_intermediate)

Return Value logical


Calls

proc~~drawn_marker~~CallsGraph proc~drawn_marker MarkerArtist%drawn_marker proc~point LineChain%point proc~drawn_marker->proc~point proc~line_buffer line_buffer proc~point->proc~line_buffer interface~vkf_line_points vkf_line_points proc~line_buffer->interface~vkf_line_points

Called by

proc~~drawn_marker~~CalledByGraph proc~drawn_marker MarkerArtist%drawn_marker proc~marker_pick marker_pick proc~marker_pick->proc~drawn_marker proc~drawable_pick DrawableTrajectory%drawable_pick proc~drawable_pick->proc~marker_pick

Source Code

    logical function drawn_marker(self, which, v, i) result(shown)
        class(MarkerArtist), intent(in) :: self
        integer, intent(in) :: which                !! MARKER_START, MARKER_END or MARKER_INTERMEDIATE
        real(wp), intent(out) :: v(3)               !! where it is drawn (frame coordinates)
        integer, intent(in), optional :: i          !! the intermediate marker's number (1 to num_intermediate)
        v = 0.0_wp
        select case (which)
        case (MARKER_START)
            shown = self%start_shown
            if (shown) v = self%start_node%point(1)
        case (MARKER_END)
            shown = self%end_shown
            if (shown) v = self%end_node%point(1)
        case default
            shown = .false.
            if (.not. present(i)) return
            shown = i >= self%inter_first .and. i <= self%inter_first + self%n_inter_drawn - 1
            if (shown) v = self%inter%point(i)
        end select
    end function drawn_marker