segments_late_update Subroutine

private recursive subroutine segments_late_update(self, t)

After the tree's update for time t: the callback's segments (all frames at their positions for t), written and uploaded if they changed.

Type Bound

CustomLineSegments

Arguments

Type IntentOptional Attributes Name
class(CustomLineSegments), intent(inout) :: self
real(kind=wp), intent(in) :: t

simulation time (s)


Calls

proc~~segments_late_update~~CallsGraph proc~segments_late_update CustomLineSegments%segments_late_update compute compute proc~segments_late_update->compute proc~is_built LineChain%is_built proc~segments_late_update->proc~is_built proc~late_update ReferenceFrame%late_update proc~segments_late_update->proc~late_update proc~write_segments~2 write_segments proc~segments_late_update->proc~write_segments~2 proc~late_update->proc~late_update proc~color_slice LineChain%color_slice proc~write_segments~2->proc~color_slice proc~color~2 ReferenceFrame%color proc~write_segments~2->proc~color~2 proc~draw LineChain%draw proc~write_segments~2->proc~draw proc~num_chunks~2 LineChain%num_chunks proc~write_segments~2->proc~num_chunks~2 proc~reserve LineChain%reserve proc~write_segments~2->proc~reserve proc~slice LineChain%slice proc~write_segments~2->proc~slice proc~split_points split_points proc~write_segments~2->proc~split_points proc~written LineChain%written proc~write_segments~2->proc~written interface~vkf_line_colors vkf_line_colors proc~color_slice->interface~vkf_line_colors proc~draw_range LineChain%draw_range proc~draw->proc~draw_range interface~vkf_compile_node vkf_compile_node proc~reserve->interface~vkf_compile_node interface~vkf_line_create vkf_line_create proc~reserve->interface~vkf_line_create interface~vkf_line_create_colored vkf_line_create_colored proc~reserve->interface~vkf_line_create_colored interface~vkf_marker_create vkf_marker_create proc~reserve->interface~vkf_marker_create interface~vkf_node_add_child vkf_node_add_child proc~reserve->interface~vkf_node_add_child interface~vkf_ribbon_create vkf_ribbon_create proc~reserve->interface~vkf_ribbon_create proc~apply_style apply_style proc~reserve->proc~apply_style proc~check_status check_status proc~reserve->proc~check_status proc~line_set_segments line_set_segments proc~reserve->proc~line_set_segments proc~move_chunks move_chunks proc~reserve->proc~move_chunks proc~line_buffer line_buffer proc~slice->proc~line_buffer interface~vkf_line_points_changed vkf_line_points_changed proc~written->interface~vkf_line_points_changed proc~written->proc~check_status proc~measure measure proc~written->proc~measure proc~update_lod update_lod proc~written->proc~update_lod proc~apply_style->proc~check_status 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~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 proc~draw_range->proc~check_status interface~vkf_line_set_range vkf_line_set_range proc~draw_range->interface~vkf_line_set_range interface~vkf_line_points vkf_line_points proc~line_buffer->interface~vkf_line_points interface~vkf_line_style vkf_line_style proc~line_set_segments->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~line_set_segments->interface~vkf_line_style_changed proc~measure->proc~line_buffer proc~split_distances split_distances proc~measure->proc~split_distances proc~update_lod->proc~line_buffer proc~segment_distance segment_distance proc~update_lod->proc~segment_distance proc~send_lod send_lod proc~update_lod->proc~send_lod proc~line_set_pattern->interface~vkf_line_style 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 proc~send_lod->proc~check_status interface~vkf_line_set_lod vkf_line_set_lod proc~send_lod->interface~vkf_line_set_lod proc~lod_error~2 LineChain%lod_error proc~send_lod->proc~lod_error~2

Source Code

    recursive subroutine segments_late_update(self, t)
        class(CustomLineSegments), intent(inout) :: self
        real(wp), intent(in) :: t           !! simulation time (s)
        if (associated(self%callback)) call self%callback%compute(self, t)
        if (self%changed .and. self%chain%is_built()) call write_segments(self)
        call self%ReferenceFrame%late_update(t)
    end subroutine segments_late_update