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).
| Type | Intent | Optional | 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) |
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