update_sphere_transform Subroutine

private subroutine update_sphere_transform(self)

The body's transform: its position, attitude and scale (radii / the built radii); nothing before it is built.

Arguments

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

Calls

proc~~update_sphere_transform~~CallsGraph proc~update_sphere_transform update_sphere_transform interface~vkf_transform_set_matrix vkf_transform_set_matrix proc~update_sphere_transform->interface~vkf_transform_set_matrix proc~frame_matrix frame_matrix proc~update_sphere_transform->proc~frame_matrix proc~name ReferenceFrame%name proc~update_sphere_transform->proc~name proc~radii Sphere%radii proc~update_sphere_transform->proc~radii proc~quat_to_matrix quat_to_matrix proc~frame_matrix->proc~quat_to_matrix

Called by

proc~~update_sphere_transform~~CalledByGraph proc~update_sphere_transform update_sphere_transform proc~set_radius Sphere%set_radius proc~set_radius->proc~update_sphere_transform proc~set_sphere_attitude Sphere%set_sphere_attitude proc~set_sphere_attitude->proc~update_sphere_transform proc~set_sphere_position Sphere%set_sphere_position proc~set_sphere_position->proc~update_sphere_transform proc~set_sphere_scale Sphere%set_sphere_scale proc~set_sphere_scale->proc~update_sphere_transform proc~sphere_build_contents Sphere%sphere_build_contents proc~sphere_build_contents->proc~update_sphere_transform

Source Code

    subroutine update_sphere_transform(self)
        type(Sphere), intent(inout) :: self
        if (.not. c_associated(self%sphere_node)) return
        if (vkf_transform_set_matrix(self%sphere_node, frame_matrix(self%sphere_position_, self%sphere_attitude_, &
                                                                    self%radii() / self%built_radii)) /= 0) &
            write(*, '(a)') 'vkframes: Sphere '//self%name()//': transform failed'
    end subroutine update_sphere_transform