build_light Subroutine

private subroutine build_light(self)

The light source's node: a point light at the origin, under a switch.

Arguments

Type IntentOptional Attributes Name
class(ReferenceFrame), intent(inout) :: self

Calls

proc~~build_light~~CallsGraph proc~build_light build_light interface~vkf_light_create vkf_light_create proc~build_light->interface~vkf_light_create interface~vkf_node_add_child vkf_node_add_child proc~build_light->interface~vkf_node_add_child interface~vkf_switch_create vkf_switch_create proc~build_light->interface~vkf_switch_create proc~apply_light apply_light proc~build_light->proc~apply_light proc~check_status check_status proc~build_light->proc~check_status proc~apply_light->proc~check_status interface~vkf_light_set vkf_light_set proc~apply_light->interface~vkf_light_set

Called by

proc~~build_light~~CalledByGraph proc~build_light build_light proc~realize ReferenceFrame%realize proc~realize->proc~build_light proc~realize->proc~realize proc~set_light_source_enabled ReferenceFrame%set_light_source_enabled proc~set_light_source_enabled->proc~build_light proc~add_child ReferenceFrame%add_child proc~add_child->proc~realize proc~frame WindowProxy%frame proc~frame->proc~realize proc~resize WindowProxy%resize proc~resize->proc~frame proc~run WindowProxy%run proc~run->proc~frame

Source Code

    subroutine build_light(self)
        class(ReferenceFrame), intent(inout) :: self
        self%light_node = vkf_light_create()
        if (.not. c_associated(self%light_node)) return
        self%light_switch = vkf_switch_create()
        call check_status(vkf_node_add_child(self%light_switch, self%light_node))
        call check_status(vkf_node_add_child(self%node_, self%light_switch))
        call apply_light(self)
    end subroutine build_light