shadow_late_update Subroutine

private recursive subroutine shadow_late_update(self, t)

After the tree's update for time t: the shadow moved to the body, turned away from the light, and reshaped if the distance or a setting changed.

Type Bound

ShadowCones

Arguments

Type IntentOptional Attributes Name
class(ShadowCones), intent(inout) :: self
real(kind=wp), intent(in) :: t

the scene time


Calls

proc~~shadow_late_update~~CallsGraph proc~shadow_late_update ShadowCones%shadow_late_update proc~contents_shown ReferenceFrame%contents_shown proc~shadow_late_update->proc~contents_shown proc~late_update ReferenceFrame%late_update proc~shadow_late_update->proc~late_update proc~place place proc~shadow_late_update->proc~place proc~late_update->proc~late_update proc~body_radius ShadowCones%body_radius proc~place->proc~body_radius proc~light_radius ShadowCones%light_radius proc~place->proc~light_radius proc~local_matrix ReferenceFrame%local_matrix proc~place->proc~local_matrix proc~quat_from_vectors quat_from_vectors proc~place->proc~quat_from_vectors proc~rigid_inverse rigid_inverse proc~place->proc~rigid_inverse proc~set_attitude ReferenceFrame%set_attitude proc~place->proc~set_attitude proc~set_position~2 ReferenceFrame%set_position proc~place->proc~set_position~2 proc~shape_regions shape_regions proc~place->proc~shape_regions proc~world_matrix ReferenceFrame%world_matrix proc~place->proc~world_matrix proc~frame_radius frame_radius proc~body_radius->proc~frame_radius proc~light_radius->proc~frame_radius proc~frame_matrix frame_matrix proc~local_matrix->proc~frame_matrix proc~cross cross proc~quat_from_vectors->proc~cross proc~quat_normalize quat_normalize proc~quat_from_vectors->proc~quat_normalize proc~next_motion_stamp next_motion_stamp proc~set_attitude->proc~next_motion_stamp proc~set_attitude->proc~quat_normalize proc~set_position~2->proc~next_motion_stamp proc~write_region write_region proc~shape_regions->proc~write_region proc~world_matrix->proc~local_matrix proc~world_matrix->proc~world_matrix proc~quat_to_matrix quat_to_matrix proc~frame_matrix->proc~quat_to_matrix body_radius body_radius proc~frame_radius->body_radius radii radii proc~frame_radius->radii interface~vkf_mesh_vertices_changed vkf_mesh_vertices_changed proc~write_region->interface~vkf_mesh_vertices_changed interface~vkf_switch_set vkf_switch_set proc~write_region->interface~vkf_switch_set proc~check_status check_status proc~write_region->proc~check_status proc~mesh_arrays mesh_arrays proc~write_region->proc~mesh_arrays interface~vkf_mesh_array vkf_mesh_array proc~mesh_arrays->interface~vkf_mesh_array

Source Code

    recursive subroutine shadow_late_update(self, t)
        class(ShadowCones), intent(inout) :: self
        real(wp), intent(in) :: t                           !! the scene time
        if (associated(self%body_) .and. associated(self%light_) .and. self%contents_shown()) call place(self)
        call self%ReferenceFrame%late_update(t)
    end subroutine shadow_late_update