frame_radius Function

private function frame_radius(frame) result(r)

A body's own radius: a Sphere's equatorial one, a TerrainBody's; else 0.

Arguments

Type IntentOptional Attributes Name
class(ReferenceFrame), intent(in) :: frame

the body or the light

Return Value real(kind=wp)


Calls

proc~~frame_radius~~CallsGraph proc~frame_radius frame_radius body_radius body_radius proc~frame_radius->body_radius radii radii proc~frame_radius->radii

Called by

proc~~frame_radius~~CalledByGraph proc~frame_radius frame_radius proc~body_radius ShadowCones%body_radius proc~body_radius->proc~frame_radius proc~light_radius ShadowCones%light_radius proc~light_radius->proc~frame_radius proc~place place proc~place->proc~body_radius proc~place->proc~light_radius proc~shadow_late_update ShadowCones%shadow_late_update proc~shadow_late_update->proc~place

Source Code

    real(wp) function frame_radius(frame) result(r)
        class(ReferenceFrame), intent(in) :: frame          !! the body or the light
        real(wp) :: radii(3)
        r = 0.0_wp
        select type (frame)
        class is (Sphere)
            radii = frame%radii()
            r = max(radii(1), radii(2))
        class is (TerrainBody)
            r = frame%body_radius()
        end select
    end function frame_radius