make_texture_node Subroutine

private subroutine make_texture_node(self)

The texture node for the current image, in place of the old one.

Arguments

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

Calls

proc~~make_texture_node~~CallsGraph proc~make_texture_node make_texture_node interface~vkf_compile_node vkf_compile_node proc~make_texture_node->interface~vkf_compile_node interface~vkf_node_add_child vkf_node_add_child proc~make_texture_node->interface~vkf_node_add_child interface~vkf_node_delete vkf_node_delete proc~make_texture_node->interface~vkf_node_delete interface~vkf_node_remove_child vkf_node_remove_child proc~make_texture_node->interface~vkf_node_remove_child interface~vkf_sky_texture_create vkf_sky_texture_create proc~make_texture_node->interface~vkf_sky_texture_create proc~apply_attitude apply_attitude proc~make_texture_node->proc~apply_attitude proc~apply_mode apply_mode proc~make_texture_node->proc~apply_mode proc~check_status check_status proc~make_texture_node->proc~check_status proc~apply_attitude->proc~check_status interface~vkf_sky_style vkf_sky_style proc~apply_attitude->interface~vkf_sky_style interface~vkf_sky_style_changed vkf_sky_style_changed proc~apply_attitude->interface~vkf_sky_style_changed proc~quat_to_matrix quat_to_matrix proc~apply_attitude->proc~quat_to_matrix proc~apply_mode->proc~check_status interface~vkf_switch_set vkf_switch_set proc~apply_mode->interface~vkf_switch_set

Called by

proc~~make_texture_node~~CalledByGraph proc~make_texture_node make_texture_node proc~node~2 SkySphere%node proc~node~2->proc~make_texture_node proc~set_texture_map~2 SkySphere%set_texture_map proc~set_texture_map~2->proc~make_texture_node proc~set_sky WindowProxy%set_sky proc~set_sky->proc~node~2

Source Code

    subroutine make_texture_node(self)
        type(SkySphere), intent(inout) :: self
        if (c_associated(self%texture_node)) then
            call check_status(vkf_node_remove_child(self%texture_switch, self%texture_node), 'SkySphere')
            call vkf_node_delete(self%texture_node)
            self%texture_node = c_null_ptr
        end if
        if (c_associated(self%image)) then
            self%texture_node = vkf_sky_texture_create(self%image)
            if (c_associated(self%texture_node)) then
                call apply_attitude(self, self%texture_node)
                if (self%shown) call check_status(vkf_compile_node(self%texture_node), 'SkySphere')
                call check_status(vkf_node_add_child(self%texture_switch, self%texture_node), 'SkySphere')
            end if
        end if
        call apply_mode(self)
    end subroutine make_texture_node