Nodes of different colours represent the following:
Solid arrows point from one derived type to another which extends (inherits from) it. Dashed arrows point from a derived type to another type containing it as a components, with a label listing the name(s) of said component(s). Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(BoundingBoxVertStruct), | public | :: | XdYdZd | ||||
| type(BoundingBoxVertStruct), | public | :: | XdYdZu | ||||
| type(BoundingBoxVertStruct), | public | :: | XdYuZd | ||||
| type(BoundingBoxVertStruct), | public | :: | XdYuZu | ||||
| type(BoundingBoxVertStruct), | public | :: | XuYdZd | ||||
| type(BoundingBoxVertStruct), | public | :: | XuYuZd | ||||
| type(BoundingBoxVertStruct), | public | :: | XuYdZu | ||||
| type(BoundingBoxVertStruct), | public | :: | XuYuZu | ||||
| type(vector), | public, | DIMENSION(4) | :: | BoundSurf | |||
| real(kind=r64), | public | :: | Area | = | 0.0d0 | ||
| real(kind=r64), | public | :: | Perimeter | = | 0.0d0 | ||
| real(kind=r64), | public | :: | Height | = | 0.0d0 | 
  TYPE RoofGeoCharactisticsStruct
    TYPE(BoundingBoxVertStruct) :: XdYdZd ! 1 low x, low y, low z
    TYPE(BoundingBoxVertStruct) :: XdYdZu ! 2 low x, low y, hi z
    TYPE(BoundingBoxVertStruct) :: XdYuZd ! 3 low x, hi y, low z
    TYPE(BoundingBoxVertStruct) :: XdYuZu ! 4 low x, hi y, hi z
    TYPE(BoundingBoxVertStruct) :: XuYdZd ! 5 hi x, low y, low z
    TYPE(BoundingBoxVertStruct) :: XuYuZd ! 6 hi x, hi y, low z
    TYPE(BoundingBoxVertStruct) :: XuYdZu ! 7 hi x, low y, hi z
    TYPE(BoundingBoxVertStruct) :: XuYuZu ! 8 hi x, hi y, hi z
    TYPE(vector), DIMENSION(4)  :: BoundSurf !long edge of roof group bounding surface
    REAL(r64) :: Area          =0.0d0
    REAL(r64) :: Perimeter     =0.0d0
    REAL(r64) :: Height        =0.0d0
  END TYPE RoofGeoCharactisticsStruct