!   TITLE:  tv_max_ent_dim.mac (MANAGEMENT)
!
!
!   TOOLBAR  VERSION
!
!   This sub-macro is used to retrieve the maximum value, within a selected
!   set, of the dimension of a specified entity:
!
!           ENTITY      DIMENSION
!          --------    -----------
!           line         length
!           area         area
!           volume       volume
!
!   Input data necessary to run this macro:
!
!       A selected set of specified entities
!
!       entity = 'l' for line entities
!                'a' for area entities
!                'v' for volume entities
!
!
! MAX_ENTY_DIM, entity
!
!
!
*get,prkey_,active,0,prkey
/nopr

*ask,entity,l(length) a(area) v(vol),'l'
!
*if,entity,eq,'l',then          ! assignment of entity variable, 'ev'
    ev='line'
*elseif,entity,eq,'a',then
    ev='area'
    asum
*elseif,entity,eq,'v',then
    ev='volu'
    vsum
*else
    ev='z'
*endif
!
*if,ev,ne,'z',then              ! If ev is assigned 'z', then abort
    !
    *get,emax,ev,,num,max       ! retrieve MIN and MAX entity numbers
    *get,emin,ev,,num,min
    !
    *get,ecount,ev,,count       ! number of specified entities in the
    !                           ! selected entity set
    *do,ii,1,ecount,1
        *if,ii,eq,1,then
            e%ii%=emin
        *else
            jj=ii-1
            *get,xx,ev,e%jj%,nxth
            e%ii%=xx
        *endif
    *enddo
*endif
!
*do,ii,1,ecount,1
    !
    *if,entity,eq,'l',then
        *get,ec%ii%,line,e%ii%,leng
    *elseif,entity,eq,'a',then
        *get,ec%ii%,area,e%ii%,area
    *elseif,entity,eq,'v',then
        *get,ec%ii%,volu,e%ii%,volu
    *endif
*enddo
!
*do,iij_,1,ecount,1
    !
    *if,iij_,eq,1,then
        xx=ec1
        yy=e1
    *else
        *if,xx,gt,ec%iij_%,then
            xx=xx
            yy=yy
        *else
            xx=ec%iij_%
            yy=e%iij_%
        *endif
    *endif
*enddo
!
*if,entity,eq,'l',then
    max_leng=xx
    max_lnum=yy
    *msg,ui,%yy%,%xx%
    Longest Line = %i ------ Length = %g
*elseif,entity,eq,'a',then
    max_area=xx
    max_anum=yy
    *msg,ui,%yy%,%xx%
    Largest Area = %i ------ Area = %g
*elseif,entity,eq,'v',then
    max_vol=xx
    max_vnum=yy
    *msg,ui,%yy%,%xx%
    Largest Volume = %i ------ Volume = %g
*endif
!
*do,ijk_,1,ecount,1
    *set,e%ii%,
    *set,ec%ii%
    *set,xx,
    *set,yy,
    *set,ev,
    *set,entity,
    *set,emax,
    *set,emin,
*enddo
!
*set,ijk_,
*set,iij_,

*if,prkey_,eq,1,then
    /go
*endif