This type contains origin and vec of box in each direction

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

real(kind=rk), | private | :: | center(3) | center of the box |
|||

real(kind=rk), | private | :: | halfvec(3,3) | vector which defines length of the box in x,y,z direction 1st dimension contains x,y,z coord and 2nd dimension defines three direction of vector. This vector is need to do transformation of box |
|||

real(kind=rk), | private | :: | halfwidth(3) | halfwidth of the box from center in each direction. It is computed from halfvec during initialization since it is needed for boxboxoverlap |
|||

real(kind=rk), | private | :: | normal(3,3) | unit normal vectors which defines the box orientation. It is computed from halfvec during initialization |
|||

logical, | private | :: | only_surface | 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_plane_type), | private | :: | plane(6) | For only_surface, box is converted into 6 planes and each plane is converted further into triangles |