inHerit_intersectedObject Subroutine

private subroutine inHerit_intersectedObject(proto, geometry, parent, parentID, testAll, intersected_object, grwObjPos, parent_objPos, leVal, child_intersected_object, child_nodePos, memLeft, isDistRefObj)

This routine inherit the intersected boundary objects from parent to childrens

Update the intersected_first and last for children

Arguments

Type IntentOptional Attributes Name
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data to refine further

type(sdr_geometry_type), intent(in) :: geometry

type which contains all geometry object infos

integer, intent(in) :: parent

Position of parent node in protoTree

integer(kind=long_k), intent(in) :: parentID

TreeID of parent

logical, intent(in) :: testAll

To test all intersected objects

type(grw_intarray_type), intent(inout) :: intersected_object

Growing array of intersected objects. Could be user defined or distance refine spatial objects

type(grw_intersectObjPosArray_type), intent(inout) :: grwObjPos

First and last position of intersected object of all nodes in intersected_object list

type(sdr_intersectObjPos_type), intent(in) :: parent_objPos

Position of first ans last intersected object of parent node in intersected_object list

type(levelValues_type), intent(in) :: leVal

contains information on current level on which children are created

type(grw_intarray_type), intent(inout) :: child_intersected_object

Temporary array of intersected objects for 8 children

integer, intent(in) :: child_nodePos(8)

8 children node position in protoTree

integer, intent(out) :: memLeft

memory of parent intersected object unused by children

logical, intent(in) :: isDistRefObj

Is this distance refine objects