Returns the absolute position in the total list of a given treeID opposed to PosOfId, where the relative position in one of the separate lists is returned. Herefore, total list has to be created beforehand.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=long_k), | intent(in) | :: | tID |
the element you are looking for |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc |
the descriptor you use for searching |
||
integer, | intent(in), | optional | :: | eType |
element type |
return position of tID in levelDesc%total list
function tem_treeIDinTotal( tID, levelDesc, eType ) result( elemPos ) ! -------------------------------------------------------------------- ! !> the element you are looking for integer(kind=long_k), intent(in) :: tID !> the descriptor you use for searching type(tem_levelDesc_type), intent(in) :: levelDesc !> element type integer, intent(in), optional :: eType !> return position of tID in levelDesc%total list integer :: elemPos ! -------------------------------------------------------------------- ! integer :: eType_loc ! -------------------------------------------------------------------- ! if( present( eType )) then eType_loc = eType else eType_loc = tem_eTypeOfID( tID, levelDesc%elem ) end if elemPos = 0 if( eType_loc > 0 ) then elemPos = tem_PositionInSorted( me = levelDesc%total, & & lower = levelDesc%offset(1, eType_loc)+1,& & upper = levelDesc%offset(2, eType_loc), & & val = tID ) end if elemPos = max( elemPos, 0 ) end function tem_treeIDinTotal