model_build_contents Subroutine

private subroutine model_build_contents(self, viewer, group)

The model under the model transform.

Type Bound

Model

Arguments

Type IntentOptional Attributes Name
class(Model), intent(inout) :: self
type(c_ptr), intent(in) :: viewer

a window's viewer handle (null: headless)

type(c_ptr), intent(in) :: group

the group node to build under


Calls

proc~~model_build_contents~~CallsGraph proc~model_build_contents Model%model_build_contents interface~vkf_node_add_child vkf_node_add_child proc~model_build_contents->interface~vkf_node_add_child interface~vkf_transform_create vkf_transform_create proc~model_build_contents->interface~vkf_transform_create proc~name ReferenceFrame%name proc~model_build_contents->proc~name proc~update_model_transform update_model_transform proc~model_build_contents->proc~update_model_transform proc~update_model_transform->proc~name interface~vkf_transform_set_matrix vkf_transform_set_matrix proc~update_model_transform->interface~vkf_transform_set_matrix proc~frame_matrix frame_matrix proc~update_model_transform->proc~frame_matrix proc~quat_to_matrix quat_to_matrix proc~frame_matrix->proc~quat_to_matrix

Source Code

    subroutine model_build_contents(self, viewer, group)
        class(Model), intent(inout) :: self
        type(c_ptr), intent(in) :: viewer   !! a window's viewer handle (null: headless)
        type(c_ptr), intent(in) :: group    !! the group node to build under
        if (.not. c_associated(self%model_)) return
        self%model_node = vkf_transform_create()
        call update_model_transform(self)
        if (vkf_node_add_child(self%model_node, self%model_) /= 0 .or. vkf_node_add_child(group, self%model_node) /= 0) &
            write(*, '(a)') 'vkframes: Model '//self%name()//': could not build the scene'
    end subroutine model_build_contents