Definition of the canonicalND
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 |
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