build_decorations Subroutine

private subroutine build_decorations(self)

The axes (arrows), axes labels and name label, each under a switch, in the frame's color (OpenFrames' ReferenceFrame decorations).

Arguments

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

Calls

proc~~build_decorations~~CallsGraph proc~build_decorations build_decorations interface~vkf_node_add_child vkf_node_add_child proc~build_decorations->interface~vkf_node_add_child interface~vkf_switch_create vkf_switch_create proc~build_decorations->interface~vkf_switch_create proc~check_status check_status proc~build_decorations->proc~check_status proc~make_axis make_axis proc~build_decorations->proc~make_axis proc~make_name_label make_name_label proc~build_decorations->proc~make_name_label proc~reposition_axes ReferenceFrame%reposition_axes proc~build_decorations->proc~reposition_axes proc~update_switches update_switches proc~build_decorations->proc~update_switches proc~make_axis->proc~update_switches proc~arrow_create arrow_create proc~make_axis->proc~arrow_create proc~axis_label ReferenceFrame%axis_label proc~make_axis->proc~axis_label proc~label_create label_create proc~make_axis->proc~label_create proc~label_font ReferenceFrame%label_font proc~make_axis->proc~label_font proc~replace_child replace_child proc~make_axis->proc~replace_child proc~make_name_label->proc~check_status proc~make_name_label->proc~update_switches interface~vkf_label_set_on_top vkf_label_set_on_top proc~make_name_label->interface~vkf_label_set_on_top proc~make_name_label->proc~label_create proc~make_name_label->proc~label_font proc~name ReferenceFrame%name proc~make_name_label->proc~name proc~make_name_label->proc~replace_child proc~bound ReferenceFrame%bound proc~reposition_axes->proc~bound proc~update_switches->proc~check_status interface~vkf_switch_set vkf_switch_set proc~update_switches->interface~vkf_switch_set interface~vkf_mesh_create vkf_mesh_create proc~arrow_create->interface~vkf_mesh_create proc~arrow arrow proc~arrow_create->proc~arrow proc~arrow_size arrow_size proc~arrow_create->proc~arrow_size proc~mesh_arrays mesh_arrays proc~arrow_create->proc~mesh_arrays interface~vkf_label_create vkf_label_create proc~label_create->interface~vkf_label_create proc~get_font get_font proc~label_create->proc~get_font proc~vsg_alignment vsg_alignment proc~label_create->proc~vsg_alignment proc~replace_child->interface~vkf_node_add_child proc~replace_child->proc~check_status interface~vkf_compile_node vkf_compile_node proc~replace_child->interface~vkf_compile_node interface~vkf_node_delete vkf_node_delete proc~replace_child->interface~vkf_node_delete interface~vkf_node_remove_child vkf_node_remove_child proc~replace_child->interface~vkf_node_remove_child proc~cross cross proc~arrow->proc~cross interface~vkf_font_read vkf_font_read proc~get_font->interface~vkf_font_read proc~find_font find_font proc~get_font->proc~find_font interface~vkf_mesh_array vkf_mesh_array proc~mesh_arrays->interface~vkf_mesh_array proc~find_in_dirs find_in_dirs proc~find_font->proc~find_in_dirs

Called by

proc~~build_decorations~~CalledByGraph proc~build_decorations build_decorations proc~realize ReferenceFrame%realize proc~realize->proc~build_decorations proc~realize->proc~realize 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_decorations(self)
        class(ReferenceFrame), intent(inout) :: self
        integer :: k
        if (.not. self%axes_moved) call self%reposition_axes()
        do k = 1, 3
            self%axis_node(k) = vkf_switch_create()
            self%axis_label_node(k) = vkf_switch_create()
            call make_axis(self, k)
            call check_status(vkf_node_add_child(self%node_, self%axis_node(k)))
            call check_status(vkf_node_add_child(self%node_, self%axis_label_node(k)))
        end do
        ! the name label at the origin, label_size pixels tall
        self%name_label_node = vkf_switch_create()
        call make_name_label(self)
        call check_status(vkf_node_add_child(self%node_, self%name_label_node))
        call update_switches(self)
    end subroutine build_decorations