time_build_contents Subroutine

private subroutine time_build_contents(self, viewer, group)

The marker: one point at the frame's origin.

Type Bound

TimeHandle

Arguments

Type IntentOptional Attributes Name
class(TimeHandle), intent(inout) :: self
type(c_ptr), intent(in) :: viewer

a window's viewer (null: headless)

type(c_ptr), intent(in) :: group

the frame's contents group


Calls

proc~~time_build_contents~~CallsGraph proc~time_build_contents TimeHandle%time_build_contents interface~vkf_marker_create vkf_marker_create proc~time_build_contents->interface~vkf_marker_create interface~vkf_node_add_child vkf_node_add_child proc~time_build_contents->interface~vkf_node_add_child proc~check_status check_status proc~time_build_contents->proc~check_status proc~line_set_points line_set_points proc~time_build_contents->proc~line_set_points proc~name ReferenceFrame%name proc~time_build_contents->proc~name proc~time_show_state TimeHandle%time_show_state proc~time_build_contents->proc~time_show_state interface~vkf_line_points vkf_line_points proc~line_set_points->interface~vkf_line_points interface~vkf_line_points_changed vkf_line_points_changed proc~line_set_points->interface~vkf_line_points_changed proc~time_show_state->proc~check_status proc~color~2 ReferenceFrame%color proc~time_show_state->proc~color~2 proc~dragged DragHandle%dragged proc~time_show_state->proc~dragged proc~hovered DragHandle%hovered proc~time_show_state->proc~hovered proc~marker_set_style marker_set_style proc~time_show_state->proc~marker_set_style interface~vkf_line_style vkf_line_style proc~marker_set_style->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~marker_set_style->interface~vkf_line_style_changed

Source Code

    subroutine time_build_contents(self, viewer, group)
        class(TimeHandle), intent(inout) :: self
        type(c_ptr), intent(in) :: viewer                   !! a window's viewer (null: headless)
        type(c_ptr), intent(in) :: group                    !! the frame's contents group
        self%marker = vkf_marker_create(1_c_int, c_null_ptr, 0_c_int)
        if (.not. c_associated(self%marker)) then
            write(*, '(a)') 'vkframes: TimeHandle '//self%name()//': could not build its marker'
            return
        end if
        call check_status(line_set_points(self%marker, reshape([0.0_c_double, 0.0_c_double, 0.0_c_double], [3, 1])))
        call self%show_state()
        call check_status(vkf_node_add_child(group, self%marker))
        if (c_associated(viewer)) n_shown = n_shown + 1
    end subroutine time_build_contents