append_newNode Subroutine

private subroutine append_newNode(me, treeID, PropertyBits, sublevel, minLevel, pos, grwTreeID)

Append a new node to the protoTree.

Please note that the chosen data structures exploit the fact, that the algorithm to build the tree is doing this ordered by treeIDs. Therfore, this routine appends a new node at the end of the list of existing nodes without any checks.


type(sdr_node_type), intent(inout) :: me

The nodelist to which the node is to be appended.

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

The treeID of the node to append.

integer, intent(in) :: PropertyBits(:)

The Bitmask of initial properties to set.

integer, intent(in) :: sublevel

Sublevel indication, counts down after the target node. Has to be negative if not a subelement. Only relevant if subelement_resolution > 0.

Refinement will be stopped, when sublevel 0 is reached.

integer, intent(in) :: minLevel

Minlevel to refine this node

integer, intent(out) :: pos

Position in the list, where the node was appended.

type(grw_longarray_type), intent(inout), optional :: grwTreeID

growing array of treeID, append treeID to this list if present


proc~~append_newnode~~CallsGraph proc~append_newnode append_newNode interface~append~10 append proc~append_newnode->interface~append~10

Called by

proc~~append_newnode~~CalledByGraph proc~append_newnode append_newNode interface~append~12 append interface~append~12->proc~append_newnode



integer, private :: iSide
type(sdr_intersectObjPos_type), private :: objPos