For lines, the highlight (see shaders/line.vert): flags (1 pulse, 2
arrows; 0 none), its color (rgba), the arrows' spacing and speed (window
units, and per second), the band's width (window units) and the pulse's
period (s).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LineChain), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | flags |
1 pulse + 2 arrows (0: none) |
||
| real(kind=wp), | intent(in) | :: | color(4) |
[r, g, b, a] (0 to 1) |
||
| real(kind=wp), | intent(in) | :: | spacing |
between arrows (window units) |
||
| real(kind=wp), | intent(in) | :: | speed |
of the arrows (window units per second) |
||
| real(kind=wp), | intent(in) | :: | band |
width of the band the arrows are drawn in (window units) |
||
| real(kind=wp), | intent(in) | :: | period |
of the pulse (s) |
subroutine set_highlight(self, flags, color, spacing, speed, band, period) class(LineChain), intent(inout) :: self integer, intent(in) :: flags !! 1 pulse + 2 arrows (0: none) real(wp), intent(in) :: color(4) !! [r, g, b, a] (0 to 1) real(wp), intent(in) :: spacing !! between arrows (window units) real(wp), intent(in) :: speed !! of the arrows (window units per second) real(wp), intent(in) :: band !! width of the band the arrows are drawn in (window units) real(wp), intent(in) :: period !! of the pulse (s) integer :: j self%highlight = real([color, real(flags, wp), spacing, speed, band, period, 0.0_wp, 0.0_wp, 0.0_wp], & c_float) do j = 1, self%n_chunks call apply_style(self, self%chunks(j)%line) end do end subroutine set_highlight