*get,prkey_,active,0,prkey
/nopr
savretr_=arg1
groupn_=arg2
*if,groupn_,eq,0,then
groupn_=1
*endif
*get,activcs_,active,,csys
*if,savretr_,eq,0,then
vol_cg
*if,groupn_,eq,1,then
*set,vstore1_(1),
arry_transfer,'vcg_data','vstore1_'
*elseif,groupn_,eq,2,then
*set,vstore2_(1),
arry_transfer,'vcg_data','vstore2_'
*endif
*set,vcg_data(1),
*elseif,savretr_,eq,1,then
*if,groupn_,eq,1,then
*get,parmtyp_,parm,vstore1_,type
*if,parmtyp_,eq,1,then
vol_cg
*get,nvols1_,parm,vcg_data,dim,x
*get,nvstor1_,parm,vstore1_,dim,x
*set,v_attr_1(1),
*dim,v_attr_1,array,nvols1_+2,nvstor1_+2,4
arry_transfer,'vcg_data','v_attr_1',,,1,2,,,3,1
arry_transpose,'vstore1_','v_attr_1',,,1,2,,,1,3
arry_transpose,'vstore1_','v_attr_1',,,3,,,,2,3,2
arry_transpose,'vstore1_','v_attr_1',,,4,,,,2,3,3
arry_transpose,'vstore1_','v_attr_1',,,5,,,,2,3,4
arry_transfer,'vcg_data','v_attr_1',,,3,,,,3,2,2
arry_transfer,'vcg_data','v_attr_1',,,4,,,,3,2,3
arry_transfer,'vcg_data','v_attr_1',,,5,,,,3,2,4
*do,j__,3,nvstor1_+2,1
*do,i__,3,nvols1_+2,1
v_attr_1(i__,j__,1)=(abs(v_attr_1(i__,2,1)-v_attr_1(2,j__,1))/v_attr_1(2,j__,1))*100
*enddo
*enddo
*do,j__,3,nvstor1_+2,1
*do,i__,3,nvols1_+2,1
deltax1_=v_attr_1(i__,2,2)-v_attr_1(2,j__,2)
deltay1_=v_attr_1(i__,2,3)-v_attr_1(2,j__,3)
deltaz1_=v_attr_1(i__,2,4)-v_attr_1(2,j__,4)
v_attr_1(i__,j__,2)=sqrt((deltax1_**2)+(deltay1_**2)+(deltaz1_**2))
*enddo
*enddo
*do,j__,3,nvstor1_+2,1
*dim,vquery1_,array,nvols1_,3,1
arry_transfer,'v_attr_1','vquery1_',3,nvols1_+2,1,1,1,1,1,1,1
arry_transfer,'v_attr_1','vquery1_',3,nvols1_+2,j__,j__,1,1,1,2,1
arry_transfer,'v_attr_1','vquery1_',3,nvols1_+2,j__,j__,2,2,1,3,1
arry_search_lt,'vquery1_',1,,,2,2,1,1
*if,hits,eq,1,then
*if,j__,eq,3,then
r__=hit(1,2,1)
vsel,s,volu,,vquery1_(r__,1,1)
*else
r__=hit(1,2,1)
vsel,a,volu,,vquery1_(r__,1,1)
*endif
*elseif,hits,gt,1,then
*dim,vqsub1_,array,hits,2,1
*do,k__,1,hits,1
rquery1_=hit(k__,2,1)
vqsub1_(k__,1,1)=vquery1_(rquery1_,1,1)
vqsub1_(k__,2,1)=vquery1_(rquery1_,3,1)
*enddo
arry_min_val,'vqsub1_',,,2,2,1,1
*if,j__,eq,3,then
vsel,s,volu,,vqsub1_(min_ir,1,1)
*else
vsel,a,volu,,vqsub1_(min_ir,1,1)
*endif
*endif
*set,vquery1_(1),
*set,vqsub1_(1),
*enddo
*endif
*elseif,groupn_,eq,2,then
*get,parmtyp_,parm,vstore2_,type
*if,parmtyp_,eq,1,then
vol_cg
*get,nvols2_,parm,vcg_data,dim,x
*get,nvstor2_,parm,vstore2_,dim,x
*set,v_attr_2(1),
*dim,v_attr_2,array,nvols2_+2,nvstor2_+2,4
arry_transfer,'vcg_data','v_attr_2',,,1,2,,,3,1
arry_transpose,'vstore2_','v_attr_2',,,1,2,,,1,3
arry_transpose,'vstore2_','v_attr_2',,,3,,,,2,3,2
arry_transpose,'vstore2_','v_attr_2',,,4,,,,2,3,3
arry_transpose,'vstore2_','v_attr_2',,,5,,,,2,3,4
arry_transfer,'vcg_data','v_attr_2',,,3,,,,3,2,2
arry_transfer,'vcg_data','v_attr_2',,,4,,,,3,2,3
arry_transfer,'vcg_data','v_attr_2',,,5,,,,3,2,4
*do,j__,3,nvstor2_+2,1
*do,i__,3,nvols2_+2,1
v_attr_2(i__,j__,1)=(abs(v_attr_2(i__,2,1)-v_attr_2(2,j__,1))/v_attr_2(2,j__,1))*100
*enddo
*enddo
*do,j__,3,nvstor2_+2,1
*do,i__,3,nvols2_+2,1
deltax2_=v_attr_2(i__,2,2)-v_attr_2(2,j__,2)
deltay2_=v_attr_2(i__,2,3)-v_attr_2(2,j__,3)
deltaz2_=v_attr_2(i__,2,4)-v_attr_2(2,j__,4)
v_attr_2(i__,j__,2)=sqrt((deltax2_**2)+(deltay2_**2)+(deltaz2_**2))
*enddo
*enddo
*do,j__,3,nvstor2_+2,1
*dim,vquery2_,array,nvols2_,3,1
arry_transfer,'v_attr_2','vquery2_',3,nvols2_+2,1,1,1,1,1,1,1
arry_transfer,'v_attr_2','vquery2_',3,nvols2_+2,j__,j__,1,1,1,2,1
arry_transfer,'v_attr_2','vquery2_',3,nvols2_+2,j__,j__,2,2,1,3,1
arry_search_lt,'vquery2_',1,,,2,2,1,1
*if,hits,eq,1,then
*if,j__,eq,3,then
r__=hit(1,2,1)
vsel,s,volu,,vquery2_(r__,1,1)
*else
r__=hit(1,2,1)
vsel,a,volu,,vquery2_(r__,1,1)
*endif
*elseif,hits,gt,1,then
*dim,vqsub2_,array,hits,2,1
*do,k__,1,hits,1
rquery2_=hit(k__,2,1)
vqsub2_(k__,1,1)=vquery2_(rquery2_,1,1)
vqsub2_(k__,2,1)=vquery2_(rquery2_,3,1)
*enddo
arry_min_val,'vqsub2_',,,2,2,1,1
*if,j__,eq,3,then
vsel,s,volu,,vqsub2_(min_ir,1,1)
*else
vsel,a,volu,,vqsub2_(min_ir,1,1)
*endif
*endif
*set,vquery2_(1),
*set,vqsub2_(1),
*enddo
*endif
*endif
*endif
csys,activcs_
vplot
*set,v_attr_1(1),
*set,v_attr_2(1),
*set,vcg_data(1),
*set,deltax1_,
*set,deltay1_,
*set,deltaz1_,
*set,deltax2_,
*set,deltay2_,
*set,deltaz2_,
*set,hit(1),
*set,hits,
*set,min_val,
*set,min_ir,
*set,min_ic,
*set,min_ip,
*set,savretr_,
*set,activcs_,
*set,groupn_,
*if,prkey_,eq,1,then
/go
*endif