new_time_handle Function

private function new_time_handle(name, path, time, t_min, t_max, color) result(h)

A time handle (see the module documentation) on path (which must stay alive while used), at time time (default 0) within t_min to t_max (default: the time), in color ([r, g, b] or [r, g, b, a]). Its axes and labels are hidden (its name label can be shown: e.g. the time).

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

the frame's name

class(TimePath), intent(in), target :: path

the path it moves along

real(kind=wp), intent(in), optional :: time

its time

real(kind=wp), intent(in), optional :: t_min

the times a drag may reach

real(kind=wp), intent(in), optional :: t_max

the times a drag may reach

real(kind=wp), intent(in), optional :: color(:)

[r, g, b] or [r, g, b, a] (0 to 1)

Return Value type(TimeHandle)


Calls

proc~~new_time_handle~~CallsGraph proc~new_time_handle new_time_handle proc~set_time~2 TimeHandle%set_time proc~new_time_handle->proc~set_time~2 proc~show_decorations ReferenceFrame%show_decorations proc~new_time_handle->proc~show_decorations position position proc~set_time~2->position proc~set_position~2 ReferenceFrame%set_position proc~set_time~2->proc~set_position~2 proc~show_axes ReferenceFrame%show_axes proc~show_decorations->proc~show_axes proc~show_axes_labels ReferenceFrame%show_axes_labels proc~show_decorations->proc~show_axes_labels proc~show_name_label ReferenceFrame%show_name_label proc~show_decorations->proc~show_name_label proc~next_motion_stamp next_motion_stamp proc~set_position~2->proc~next_motion_stamp proc~update_switches update_switches proc~show_axes->proc~update_switches proc~show_axes_labels->proc~update_switches proc~show_name_label->proc~update_switches interface~vkf_switch_set vkf_switch_set proc~update_switches->interface~vkf_switch_set proc~check_status check_status proc~update_switches->proc~check_status

Called by

proc~~new_time_handle~~CalledByGraph proc~new_time_handle new_time_handle interface~timehandle TimeHandle interface~timehandle->proc~new_time_handle

Source Code

    function new_time_handle(name, path, time, t_min, t_max, color) result(h)
        character(len=*), intent(in) :: name                !! the frame's name
        class(TimePath), intent(in), target :: path         !! the path it moves along
        real(wp), intent(in), optional :: time              !! its time
        real(wp), intent(in), optional :: t_min, t_max      !! the times a drag may reach
        real(wp), intent(in), optional :: color(:)          !! [r, g, b] or [r, g, b, a] (0 to 1)
        type(TimeHandle) :: h
        h%ReferenceFrame = ReferenceFrame(name, color)
        call h%show_decorations(.false.)
        h%priority_ = 1                                     ! (a marker over an arrow on the same spot)
        h%path_ => path
        if (present(time)) h%time_ = time
        h%t_min = h%time_
        h%t_max = h%time_
        if (present(t_min)) h%t_min = t_min
        if (present(t_max)) h%t_max = t_max
        call h%set_time(h%time_)
    end function new_time_handle