tem_canonicalND_type Derived Type

type, public :: tem_canonicalND_type

Definition of the canonicalND


Inherits

type~~tem_canonicalnd_type~~InheritsGraph type~tem_canonicalnd_type tem_canonicalND_type type~tem_box_type tem_box_type type~tem_canonicalnd_type->type~tem_box_type box type~tem_line_type tem_line_type type~tem_canonicalnd_type->type~tem_line_type line type~tem_plane_type tem_plane_type type~tem_canonicalnd_type->type~tem_plane_type plane type~tem_point_type tem_point_type type~tem_canonicalnd_type->type~tem_point_type point type~tem_box_type->type~tem_plane_type plane type~tem_triangle_type tem_triangle_type type~tem_plane_type->type~tem_triangle_type triangle

Inherited by

type~~tem_canonicalnd_type~~InheritedByGraph type~tem_canonicalnd_type tem_canonicalND_type type~tem_shape_type tem_shape_type type~tem_shape_type->type~tem_canonicalnd_type canoND type~spatial_parabol_type spatial_parabol_type type~spatial_parabol_type->type~tem_shape_type geometry type~tem_convergenceheader_type tem_convergenceHeader_type type~tem_convergenceheader_type->type~tem_shape_type geometry type~tem_spacetime_fun_type tem_spacetime_fun_type type~tem_spacetime_fun_type->type~tem_shape_type geom type~tem_spatial_type tem_spatial_type type~tem_spacetime_fun_type->type~tem_spatial_type spatial type~tem_tracking_config_type tem_tracking_config_type type~tem_tracking_config_type->type~tem_shape_type geometry type~tem_convergence_type tem_convergence_type type~tem_convergence_type->type~tem_convergenceheader_type header type~tem_spatial_type->type~spatial_parabol_type parabol type~tem_st_fun_listelem_type tem_st_fun_listElem_type type~tem_st_fun_listelem_type->type~tem_spacetime_fun_type val type~tem_st_fun_listelem_type->type~tem_st_fun_listelem_type next type~tem_tracking_type tem_tracking_type type~tem_tracking_type->type~tem_tracking_config_type config type~tem_variable_type tem_variable_type type~tem_variable_type->type~tem_spacetime_fun_type st_fun type~tem_abortcriteria_type tem_abortCriteria_type type~tem_abortcriteria_type->type~tem_convergence_type convergence type~tem_ini_condition_type tem_ini_condition_type type~tem_ini_condition_type->type~tem_spatial_type ini_state type~tem_st_fun_linkedlist_type tem_st_fun_linkedList_type type~tem_st_fun_linkedlist_type->type~tem_st_fun_listelem_type head

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: origin(3)

origin of the canonical shape

real(kind=rk), public :: vec(3,3)

vector along the edge A (also defines size) 1st dimension defines x,y, z coord 2nd dimension vec number

integer, public :: segments(3)

how many discrete points the canonicalND is divided into

character(len=labellen), public :: distribution

spatial distribution of the points

character(len=labellen), public :: kind

kind of canonicalND (line, plane, point, box)

logical, public :: active(3)

identify which vectors are active (not equal 0)

integer, public :: nDim

dimension of canonical object nDim=0 - point nDim=1 - line nDim=2 - plane nDim=3 - box

logical, public :: only_surface = .false.

To choose what to do with intersection of box if only_surface = true than the only the surface of the object is intersected if only_surface = false then the whole object is intersected default is set to false

type(tem_point_type), public :: point

canonical point

type(tem_line_type), public :: line
type(tem_plane_type), public :: plane
type(tem_box_type), public :: box

Source Code

  type tem_canonicalND_type

    !> origin of the canonical shape
    real(kind=rk) :: origin(3)

    !> vector along the edge A (also defines size)
    !! 1st dimension defines x,y, z coord
    !! 2nd dimension vec number
    real(kind=rk) :: vec(3,3)

    !> how many discrete points the canonicalND is divided into
    integer       :: segments(3)

    !> spatial distribution of the points
    character(len=labellen) :: distribution

    !> kind of canonicalND (line, plane, point, box)
    character( len=labellen ) :: kind

    !> identify which vectors are active (not equal 0)
    logical :: active(3)

    !> dimension of canonical object
    !! nDim=0 - point
    !! nDim=1 - line
    !! nDim=2 - plane
    !! nDim=3 - box
    integer :: nDim

    !> To choose what to do with intersection of box
    !! if only_surface = true than the only the surface of the object
    !! is intersected
    !! if only_surface = false then the whole object is intersected
    !! default is set to false
    logical :: only_surface = .false.

    !> canonical point
    type(tem_point_type) :: point
    type(tem_line_type) :: line !< canonical line
    type(tem_plane_type) :: plane !< canonical plane
    type(tem_box_type) :: box !< canonical box
  end type tem_canonicalND_type