marker_style Subroutine

private subroutine marker_style(self)

Apply the colors, size, shape and attenuation radius (0: off) to the marker nodes.

Arguments

Type IntentOptional Attributes Name
type(MarkerArtist), intent(inout) :: self

Calls

proc~~marker_style~~CallsGraph proc~marker_style marker_style proc~is_colored LineChain%is_colored proc~marker_style->proc~is_colored proc~set_marker_style LineChain%set_marker_style proc~marker_style->proc~set_marker_style proc~apply_style apply_style proc~set_marker_style->proc~apply_style interface~vkf_line_set_dash_mode vkf_line_set_dash_mode proc~apply_style->interface~vkf_line_set_dash_mode interface~vkf_line_set_highlight vkf_line_set_highlight proc~apply_style->interface~vkf_line_set_highlight interface~vkf_line_set_trail vkf_line_set_trail proc~apply_style->interface~vkf_line_set_trail proc~check_status check_status proc~apply_style->proc~check_status proc~line_set_pattern line_set_pattern proc~apply_style->proc~line_set_pattern proc~line_set_style line_set_style proc~apply_style->proc~line_set_style proc~marker_set_style marker_set_style proc~apply_style->proc~marker_set_style interface~vkf_line_style vkf_line_style proc~line_set_pattern->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~line_set_pattern->interface~vkf_line_style_changed proc~line_set_style->interface~vkf_line_style proc~line_set_style->interface~vkf_line_style_changed proc~marker_set_style->interface~vkf_line_style proc~marker_set_style->interface~vkf_line_style_changed

Called by

proc~~marker_style~~CalledByGraph proc~marker_style marker_style proc~build_marker_nodes build_marker_nodes proc~build_marker_nodes->proc~marker_style proc~set_auto_attenuate MarkerArtist%set_auto_attenuate proc~set_auto_attenuate->proc~marker_style proc~set_marker_color MarkerArtist%set_marker_color proc~set_marker_color->proc~marker_style proc~set_marker_shape~2 MarkerArtist%set_marker_shape proc~set_marker_shape~2->proc~marker_style proc~set_marker_size~2 MarkerArtist%set_marker_size proc~set_marker_size~2->proc~marker_style proc~update_bounds update_bounds proc~update_bounds->proc~marker_style proc~marker_build MarkerArtist%marker_build proc~marker_build->proc~build_marker_nodes proc~marker_update MarkerArtist%marker_update proc~marker_update->proc~update_bounds proc~rebuild_markers rebuild_markers proc~marker_update->proc~rebuild_markers proc~new_marker_artist new_marker_artist proc~new_marker_artist->proc~set_marker_color proc~rebuild_markers->proc~build_marker_nodes interface~markerartist MarkerArtist interface~markerartist->proc~new_marker_artist proc~marker_set_point_colors MarkerArtist%marker_set_point_colors proc~marker_set_point_colors->proc~rebuild_markers proc~set_marker_image MarkerArtist%set_marker_image proc~set_marker_image->proc~rebuild_markers

Source Code

    subroutine marker_style(self)
        type(MarkerArtist), intent(inout) :: self
        real(wp) :: r
        r = 0.0_wp
        if (self%attenuate) r = self%radius
        call self%start_node%set_marker_style(style_color(self%start_node, self%start_color), self%size_, self%shape_, r)
        call self%end_node%set_marker_style(style_color(self%end_node, self%end_color), self%size_, self%shape_, r)
        call self%inter%set_marker_style(style_color(self%inter, self%intermediate_color), self%size_, self%shape_, r)
    contains
        !> The style's color: the marker's, or white if each marker has its own (the shader multiplies them).
        function style_color(chain, own) result(c)
            type(LineChain), intent(in) :: chain            !! the marker's buffers
            real(wp), intent(in) :: own(4)                  !! the marker's own color
            real(wp) :: c(4)
            c = own
            if (chain%is_colored()) c = 1.0_wp
        end function style_color
    end subroutine marker_style