A shadow region's surface: a frustum along z from z0 (radius r0) to z1 (radius r1), in the shadow frame's coordinates.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | color(4) | = | 1.0_wp |
[r, g, b, a] (0 to 1) |
|
| logical, | public | :: | drawn | = | .false. |
has a surface (and is to be drawn) |
|
| type(c_ptr), | public | :: | mesh | = | c_null_ptr |
the surface: rings of vertices at z0 and z1 |
|
| real(kind=wp), | public | :: | r0 | = | 0.0_wp |
radius at z0 (scene units) |
|
| real(kind=wp), | public | :: | r1 | = | 0.0_wp |
radius at z1 (scene units) |
|
| type(c_ptr), | public | :: | switch | = | c_null_ptr |
shows or hides the mesh (null until built) |
|
| real(kind=wp), | public | :: | z0 | = | 0.0_wp |
start along z (scene units) |
|
| real(kind=wp), | public | :: | z1 | = | 0.0_wp |
end along z (scene units) |
type :: ShadowRegion logical :: drawn = .false. !! has a surface (and is to be drawn) real(wp) :: z0 = 0.0_wp !! start along z (scene units) real(wp) :: r0 = 0.0_wp !! radius at z0 (scene units) real(wp) :: z1 = 0.0_wp !! end along z (scene units) real(wp) :: r1 = 0.0_wp !! radius at z1 (scene units) real(wp) :: color(4) = 1.0_wp !! [r, g, b, a] (0 to 1) type(c_ptr) :: switch = c_null_ptr !! shows or hides the mesh (null until built) type(c_ptr) :: mesh = c_null_ptr !! the surface: rings of vertices at z0 and z1 end type ShadowRegion