ShadowRegion Derived Type

type, private :: ShadowRegion

A shadow region's surface: a frustum along z from z0 (radius r0) to z1 (radius r1), in the shadow frame's coordinates.


Inherits

type~~shadowregion~~InheritsGraph type~shadowregion ShadowRegion c_ptr c_ptr type~shadowregion->c_ptr switch, mesh

Inherited by

type~~shadowregion~~InheritedByGraph type~shadowregion ShadowRegion type~shadowcones ShadowCones type~shadowcones->type~shadowregion region

Components

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)


Source Code

    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