tem_cano_initSubTree Subroutine

public subroutine tem_cano_initSubTree(me, inTree, countElems, map2global, shapeInverted)

Create subtree from the intersection of canonical shapes and inTree

Arguments

TypeIntentOptionalAttributesName
type(tem_canonicalND_type), intent(in) :: me(:)

canonicalND objects on which to work

type(treelmesh_type), intent(in) :: inTree

Global tree

integer, intent(inout) :: countElems(globalMaxLevels)

How many elements there will be for each level in the track

type(dyn_intarray_type), intent(inout) :: map2global

growing array for the map2global

logical, intent(in) :: shapeInverted

If true then elements not intersected are added to subTree


Calls

proc~~tem_cano_initsubtree~~CallsGraph proc~tem_cano_initsubtree tem_cano_initSubTree proc~tem_posofid tem_PosOfId proc~tem_cano_initsubtree->proc~tem_posofid proc~tem_converttreeidtocube tem_convertTreeIDtoCube proc~tem_cano_initsubtree->proc~tem_converttreeidtocube proc~tem_idofcoord tem_IdOfCoord proc~tem_cano_initsubtree->proc~tem_idofcoord proc~tem_coordofreal tem_CoordOfReal proc~tem_cano_initsubtree->proc~tem_coordofreal proc~tem_linecubeoverlap tem_lineCubeOverlap proc~tem_cano_initsubtree->proc~tem_linecubeoverlap proc~tem_planecubeoverlap tem_planeCubeOverlap proc~tem_cano_initsubtree->proc~tem_planecubeoverlap interface~append~21 append proc~tem_cano_initsubtree->interface~append~21 proc~tem_levelof tem_LevelOf proc~tem_cano_initsubtree->proc~tem_levelof proc~tem_boxcubeoverlap tem_boxCubeOverlap proc~tem_cano_initsubtree->proc~tem_boxcubeoverlap proc~tem_pathcomparison tem_PathComparison proc~tem_posofid->proc~tem_pathcomparison proc~tem_pathof tem_PathOf proc~tem_posofid->proc~tem_pathof proc~tem_originofid tem_originOfId proc~tem_converttreeidtocube->proc~tem_originofid proc~tem_elemsize tem_ElemSize proc~tem_converttreeidtocube->proc~tem_elemsize proc~tem_endofid tem_endOfId proc~tem_converttreeidtocube->proc~tem_endofid proc~raycubeoverlap rayCubeOverlap proc~tem_linecubeoverlap->proc~raycubeoverlap proc~tem_trianglecubeoverlap tem_triangleCubeOverlap proc~tem_planecubeoverlap->proc~tem_trianglecubeoverlap proc~append_da_veclabel append_da_veclabel interface~append~21->proc~append_da_veclabel proc~append_da_label append_da_label interface~append~21->proc~append_da_label proc~tem_boxcubeoverlap->proc~tem_planecubeoverlap proc~boxboxoverlap boxBoxOverlap proc~tem_boxcubeoverlap->proc~boxboxoverlap proc~tem_elemsizelevel tem_ElemSizeLevel proc~tem_originofid->proc~tem_elemsizelevel proc~tem_coordofid tem_CoordOfId proc~tem_originofid->proc~tem_coordofid proc~tem_elemsize->proc~tem_levelof proc~tem_elemsize->proc~tem_elemsizelevel proc~tem_endofid->proc~tem_elemsizelevel proc~tem_endofid->proc~tem_coordofid proc~triboxoverlap_loc triBoxOverlap_loc proc~tem_trianglecubeoverlap->proc~triboxoverlap_loc interface~expand~19 expand proc~append_da_veclabel->interface~expand~19 proc~append_da_label->interface~expand~19 interface~sortedposofval~4 sortedposofval proc~append_da_label->interface~sortedposofval~4 proc~cross_product3d cross_product3D proc~triboxoverlap_loc->proc~cross_product3d proc~axistest Axistest proc~triboxoverlap_loc->proc~axistest proc~planeboxoverlap planeBoxOverlap proc~triboxoverlap_loc->proc~planeboxoverlap proc~tem_coordofid->proc~tem_levelof proc~expand_da_label expand_da_label interface~expand~19->proc~expand_da_label proc~sortposofval_label sortposofval_label interface~sortedposofval~4->proc~sortposofval_label

Called by

proc~~tem_cano_initsubtree~~CalledByGraph proc~tem_cano_initsubtree tem_cano_initSubTree proc~tem_shape_subtreefromgeominters tem_shape_subTreeFromGeomInters proc~tem_shape_subtreefromgeominters->proc~tem_cano_initsubtree proc~tem_create_subtree_of tem_create_subTree_of proc~tem_create_subtree_of->proc~tem_shape_subtreefromgeominters proc~tem_write_debugmesh tem_write_debugMesh proc~tem_write_debugmesh->proc~tem_create_subtree_of program~tem_varsys_test tem_varSys_test program~tem_varsys_test->proc~tem_create_subtree_of proc~tem_init_tracker_subtree tem_init_tracker_subTree proc~tem_init_tracker_subtree->proc~tem_create_subtree_of proc~tem_init_convergence tem_init_convergence proc~tem_init_convergence->proc~tem_create_subtree_of proc~tem_create_subtree_of_st_funlist tem_create_subTree_of_st_funList proc~tem_create_subtree_of_st_funlist->proc~tem_create_subtree_of program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->proc~tem_create_subtree_of_st_funlist proc~check_variableoperations check_variableOperations proc~check_variableoperations->proc~tem_create_subtree_of_st_funlist program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->proc~tem_create_subtree_of_st_funlist program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->proc~tem_create_subtree_of_st_funlist program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->proc~tem_create_subtree_of_st_funlist program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->proc~tem_create_subtree_of_st_funlist

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iCano
integer, private :: tLevel
integer, private :: elemPos
integer, private :: iElem
integer, private :: dPos
integer, private :: maxLevel
integer(kind=long_k), private :: treeID
logical, private :: wasAdded
logical, private :: intersects
logical, private :: addToSubTree
type(tem_cube_type), private :: cube