Each frame: if the map's window has closed (the map was released with it), the map again for a window still open (compiled for the windows running), then the frame's update.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TerrainBody), | intent(inout), | target | :: | self | ||
| real(kind=wp), | intent(in) | :: | t |
simulation time (s) |
recursive subroutine terrain_update(self, t) class(TerrainBody), intent(inout), target :: self real(wp), intent(in) :: t !! simulation time (s) type(c_ptr) :: viewer integer(c_int) :: status if (c_associated(self%map)) then if (vkf_rocky_map_alive(self%map) == 0) then viewer = vkf_viewer_any() if (c_associated(viewer)) then status = vkf_node_remove_child(self%map_group, self%map) call vkf_node_delete(self%map) call make_map(self, viewer) if (c_associated(self%map)) then if (vkf_compile_node(self%map) /= 0) & write(*, '(a)') 'vkframes: TerrainBody '//self%name()//': could not compile the map' end if end if end if end if call self%ReferenceFrame%update(t) end subroutine terrain_update