Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | BoxIndex | ||||
integer, | public | :: | LastLevel | = | -1 | ||
integer, | public | :: | depth | ||||
integer, | public | :: | NumOfObjsIndx | ||||
integer, | public | :: | NumOfKDtreePoints | ||||
integer, | public, | parameter | :: | side_L | = | 4 | |
integer, | public, | parameter | :: | side_R | = | 0 | |
integer, | public, | parameter | :: | ON_PLANE | = | 0 | |
integer, | public, | parameter | :: | POINTS_KDTREE | = | 0 | |
integer, | public, | parameter | :: | TRIANGLES_KDTREE_SAH | = | 1 | |
integer, | public, | parameter | :: | TRIANGLES_KDTREE_MEDIAN | = | 2 | |
integer, | public, | parameter | :: | START_ | = | 2 | |
integer, | public, | parameter | :: | END_ | = | 0 | |
integer, | public, | parameter | :: | PLANAR_ | = | 1 | |
integer, | public, | parameter | :: | ONLYLEFT | = | 0 | |
integer, | public, | parameter | :: | ONLYRIGHT | = | 1 | |
integer, | public, | parameter | :: | BOTH | = | 2 | |
integer, | public, | parameter | :: | ODD | = | 1 | |
integer, | public, | parameter | :: | EVEN | = | 2 | |
integer, | public, | parameter | :: | BREADTHFIRST | = | 1 | |
integer, | public, | parameter | :: | DEPTHFIRST | = | 0 | |
real(kind=rp), | public, | parameter | :: | C_TRANSVERSE | = | 1.0_RP | |
real(kind=rp), | public, | parameter | :: | C_INTERSECT | = | 1.5_RP | |
real(kind=rp), | public, | parameter | :: | C_1 | = | 1.2_RP | |
real(kind=rp), | public, | parameter | :: | C_2 | = | 2.0_RP | |
integer, | public, | parameter, dimension(8) | :: | vertices_x | = | (/1, 4, 5, 8, 2, 3, 6, 7/) | |
integer, | public, | parameter, dimension(8) | :: | vertices_y | = | (/1, 2, 6, 5, 3, 4, 7, 8/) | |
integer, | public, | parameter, dimension(8) | :: | vertices_z | = | (/1, 2, 3, 4, 5, 6, 7, 8/) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public | :: | plane | ||||
real(kind=rp), | public | :: | median | ||||
integer, | public | :: | eType | ||||
integer, | public | :: | index | ||||
integer, | public | :: | axis |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(KDtree), | public, | pointer | :: | child_L | |||
class(KDtree), | public, | pointer | :: | child_R | |||
class(KDtree), | public, | pointer | :: | parent | |||
type(Object_type), | public, | dimension(:), allocatable | :: | ObjectsList | |||
real(kind=rp), | public, | dimension(3,8) | :: | vertices | |||
integer, | public | :: | NumOfObjs | ||||
integer, | public | :: | level | ||||
integer, | public | :: | axis | ||||
integer, | public | :: | index | ||||
integer, | public | :: | Min_n_of_Objs | ||||
integer, | public | :: | which_KDtree | ||||
integer, | public | :: | MaxAxis | ||||
integer, | public | :: | SIDE | ||||
integer, | public | :: | N_L | ||||
integer, | public | :: | N_R | ||||
integer, | public | :: | N_B | ||||
integer, | public | :: | HalfEvents | ||||
integer, | public | :: | NumThreads | ||||
integer, | public | :: | STLNum | ||||
logical, | public | :: | isLast | ||||
logical, | public | :: | Split | ||||
logical, | public | :: | built_R | = | .false. | ||
logical, | public | :: | built_L | = | .false. | ||
integer, | public, | dimension(NDIM) | :: | NumOfEvents | |||
real(kind=rp), | public | :: | S | ||||
real(kind=rp), | public | :: | SplitCost | ||||
real(kind=rp), | public | :: | SplittingPlane | ||||
type(Event), | public, | dimension(:,:), allocatable | :: | Events | |||
integer, | public, | dimension(:), allocatable | :: | ObjsIndeces |
procedure, public :: construct => KDtree_construct | |
procedure, public :: SetUpRoot => KDtree_SetUpRoot | |
procedure, public :: FindLeaf => KDtree_FindLeaf | |
procedure, public :: plot => KDtree_plot | |
procedure, public :: plotBlock => KDtree_plotBlock | |
procedure, public :: Destruct => KD_treeDestruct | |
procedure, public :: GetArea => KD_treeGetArea | |
procedure, public :: BuildChild => KDtree_BuildChild | |
procedure, public :: EvaluateCostSAH => KDtree_EvaluateCostSAH | |
procedure, public :: EvaluateCostMEDIAN => KDtree_EvaluateCostMEDIAN | |
procedure, public :: SaveObjsIndeces => KDtree_SaveObjsIndeces | |
procedure, public :: SavePointsIndeces => KDtree_SavePointsIndeces |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=RP), | public | :: | splittingPlane | ||||
integer, | public | :: | N_L | ||||
integer, | public | :: | N_R | ||||
integer, | public | :: | N_P | ||||
integer, | public | :: | ChunkDim | ||||
integer, | public | :: | Starting_index | ||||
integer, | public | :: | Values2Check |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=RP), | public | :: | SplitCost | ||||
real(kind=RP), | public | :: | splittingPlane | ||||
integer, | public | :: | axis | ||||
integer, | public | :: | SIDE | ||||
logical, | public | :: | split | = | .false. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(taskPart_dim_type), | public, | dimension(NDIM) | :: | taskPartDim |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(in) | :: | S | |||
real(kind=rp), | intent(in) | :: | S_L | |||
real(kind=rp), | intent(in) | :: | S_R | |||
integer, | intent(in) | :: | N_L | |||
integer, | intent(in) | :: | N_R |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(in) | :: | vertices(:,:) | |||
type(Object_type), | intent(in) | :: | Triangle |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(inout) | :: | tree | |||
integer, | intent(in) | :: | STLNum | |||
integer, | intent(in) | :: | funit | |||
integer, | intent(in) | :: | which_KDtree |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout), | target | :: | this | ||
integer, | intent(in), | optional | :: | lvl |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout) | :: | this | |||
type(Object_type), | intent(in) | :: | ObjectsList(:) | |||
integer, | intent(in) | :: | STLNum | |||
logical, | intent(in) | :: | PlotObjs |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout) | :: | this | |||
type(STLfile), | intent(in) | :: | stl | |||
real(kind=RP), | intent(in) | :: | Vertices(:,:) | |||
type(point_type), | intent(in), | optional | :: | PointList(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout) | :: | this | |||
type(STLfile), | intent(in) | :: | stl | |||
real(kind=RP), | intent(in) | :: | Vertices(:,:) | |||
logical, | intent(in) | :: | isPlot | |||
integer, | intent(in) | :: | Min_n_of_Objs | |||
type(point_type), | intent(in), | optional | :: | PointList(:) | ||
integer, | intent(in), | optional | :: | lvl |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout) | :: | this | |||
logical, | intent(in) | :: | isChild |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(KDtree), | intent(inout) | :: | tree |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(inout) | :: | tree | |||
type(Event), | intent(inout) | :: | Events(:,:) | |||
type(point_type), | intent(in) | :: | PointList(:) | |||
integer, | intent(out) | :: | NumThreads |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(inout), | target | :: | this | ||
type(Event), | intent(inout), | allocatable | :: | Events(:,:) | ||
integer, | intent(inout) | :: | ObjsIndx(:) | |||
integer, | intent(in) | :: | level | |||
type(DepthFirst_type), | intent(inout) | :: | Depth_First(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(in) | :: | tree | |||
real(kind=rp), | intent(in) | :: | SplittingPlane | |||
integer, | intent(in) | :: | axis | |||
real(kind=rp), | intent(out) | :: | S_L |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(in) | :: | tree | |||
real(kind=rp), | intent(in) | :: | SplittingPlane | |||
integer, | intent(in) | :: | axis | |||
real(kind=rp), | intent(out) | :: | S_R |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Event), | intent(in) | :: | this(:,:) | |||
type(KDtree), | intent(in) | :: | tree | |||
type(KDtree), | intent(inout) | :: | child_L | |||
type(KDtree), | intent(inout) | :: | child_R | |||
integer, | intent(inout) | :: | ObjsIndx(:) | |||
type(Event), | intent(inout) | :: | Events_L(:,:) | |||
type(Event), | intent(inout) | :: | Events_R(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Event), | intent(inout) | :: | this(:) | |||
type(Object_type), | intent(in) | :: | ObjectsList(:) | |||
type(KDtree), | intent(inout) | :: | tree | |||
integer, | intent(in) | :: | axis |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(KDtree), | intent(inout), | target | :: | this | ||
type(Event), | intent(inout), | allocatable | :: | Events(:,:) | ||
integer, | intent(inout) | :: | ObjsIndx(:) | |||
integer, | intent(in) | :: | level | |||
type(DepthFirst_type), | intent(inout) | :: | Depth_First(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Event), | intent(inout) | :: | this(:) | |||
type(KDtree), | intent(inout) | :: | tree | |||
integer, | intent(in) | :: | axis | |||
type(point_type), | intent(in) | :: | PointList(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Event), | intent(inout) | :: | Events(:) | |||
integer, | intent(in) | :: | startIdx | |||
integer, | intent(in) | :: | endIdx |