build_artist Subroutine

private subroutine build_artist(self, k, compile)

Create artist k's node (compiled now if the frame is already shown).

Arguments

Type IntentOptional Attributes Name
type(DrawableTrajectory), intent(inout) :: self
integer, intent(in) :: k

the artist (1 to n_artists)

logical, intent(in) :: compile

true: compiled now (if the frame is shown)


Calls

proc~~build_artist~~CallsGraph proc~build_artist build_artist build build proc~build_artist->build interface~vkf_compile_node vkf_compile_node proc~build_artist->interface~vkf_compile_node interface~vkf_node_add_child vkf_node_add_child proc~build_artist->interface~vkf_node_add_child interface~vkf_switch_create vkf_switch_create proc~build_artist->interface~vkf_switch_create interface~vkf_viewer_any vkf_viewer_any proc~build_artist->interface~vkf_viewer_any proc~check_status check_status proc~build_artist->proc~check_status

Called by

proc~~build_artist~~CalledByGraph proc~build_artist build_artist proc~drawable_build_contents DrawableTrajectory%drawable_build_contents proc~drawable_build_contents->proc~build_artist proc~drawable_update DrawableTrajectory%drawable_update proc~drawable_update->proc~build_artist

Source Code

    subroutine build_artist(self, k, compile)
        type(DrawableTrajectory), intent(inout) :: self
        integer, intent(in) :: k                            !! the artist (1 to n_artists)
        logical, intent(in) :: compile                      !! true: compiled now (if the frame is shown)
        type(c_ptr) :: group
        group = vkf_switch_create()
        if (.not. c_associated(group)) return
        ! (built for a window that exists now, if shown; compiled for the windows running)
        call self%artists(k)%p%build(merge(vkf_viewer_any(), c_null_ptr, self%shown), group)
        if (compile .and. self%shown) call check_status(vkf_compile_node(group), 'trajectory artists')
        call check_status(vkf_node_add_child(self%contents_group, group), 'trajectory artists')
        self%artists(k)%group = group
    end subroutine build_artist