make_map Subroutine

private subroutine make_map(self, viewer)

The map (in the contents group) for viewer, with the settings and layers.

Arguments

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

a window's viewer handle


Calls

proc~~make_map~~CallsGraph proc~make_map make_map interface~vkf_node_add_child vkf_node_add_child proc~make_map->interface~vkf_node_add_child interface~vkf_rocky_map_create vkf_rocky_map_create proc~make_map->interface~vkf_rocky_map_create proc~apply_layer apply_layer proc~make_map->proc~apply_layer proc~apply_settings apply_settings proc~make_map->proc~apply_settings proc~name ReferenceFrame%name proc~make_map->proc~name proc~apply_layer->proc~name interface~vkf_rocky_add_elevation vkf_rocky_add_elevation proc~apply_layer->interface~vkf_rocky_add_elevation interface~vkf_rocky_add_image vkf_rocky_add_image proc~apply_layer->interface~vkf_rocky_add_image proc~find_data_file find_data_file proc~apply_layer->proc~find_data_file proc~apply_settings->proc~name interface~vkf_rocky_map_settings vkf_rocky_map_settings proc~apply_settings->interface~vkf_rocky_map_settings proc~color~2 ReferenceFrame%color proc~apply_settings->proc~color~2 proc~find_in_dirs find_in_dirs proc~find_data_file->proc~find_in_dirs

Called by

proc~~make_map~~CalledByGraph proc~make_map make_map proc~terrain_build_contents TerrainBody%terrain_build_contents proc~terrain_build_contents->proc~make_map proc~terrain_update TerrainBody%terrain_update proc~terrain_update->proc~make_map

Source Code

    subroutine make_map(self, viewer)
        type(TerrainBody), intent(inout) :: self
        type(c_ptr), intent(in) :: viewer                   !! a window's viewer handle
        integer :: k
        self%map = vkf_rocky_map_create(viewer, self%profile_, len(self%profile_, kind=c_int), &
                                        real(self%units_per_meter_, c_double))
        if (.not. c_associated(self%map)) then
            write(*, '(a)') 'vkframes: TerrainBody '//self%name()//': could not make the map'
            return
        end if
        call apply_settings(self)
        do k = 1, self%n_layers
            call apply_layer(self, self%layers(k))
        end do
        if (vkf_node_add_child(self%map_group, self%map) /= 0) &
            write(*, '(a)') 'vkframes: TerrainBody '//self%name()//': could not build the scene'
    end subroutine make_map