0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 function xym_wrapped = user_wrapper(xym_unwrapped,par)
0014
0015 switch(par.model)
0016 case 1
0017
0018 xym_wrapped = xym_unwrapped;
0019
0020
0021 if ( abs(real(xym_unwrapped))> par.r )
0022 if ( real(xym_unwrapped) > par.r )
0023 xym_wrapped = xym_unwrapped - 2*par.r;
0024 end
0025 if ( real(xym_unwrapped) < -par.r )
0026 xym_wrapped = xym_unwrapped + 2*par.r;
0027 end
0028 end
0029
0030 case 2
0031
0032 xym_wrapped = xym_unwrapped;
0033
0034
0035
0036 if (abs(imag(xym_unwrapped)) > par.r)
0037
0038 if ( imag(xym_unwrapped) > par.r )
0039 xym_wrapped = xym_unwrapped - 2*i*par.r;
0040 end
0041
0042 if ( imag(xym_unwrapped) < -par.r )
0043 xym_wrapped = xym_unwrapped + 2*i*par.r;
0044 end
0045 end
0046
0047
0048 if (abs(real(xym_unwrapped)) > par.r)
0049
0050 if ( real(xym_unwrapped) > par.r )
0051 xym_wrapped = xym_unwrapped - 2*par.r;
0052 end
0053
0054 if ( real(xym_unwrapped) < -par.r )
0055 xym_wrapped = xym_unwrapped + 2*par.r;
0056 end
0057 end
0058
0059 case 3
0060
0061 inside = inpolygon(real(xym_unwrapped),imag(xym_unwrapped),real(par.vertices),imag(par.vertices));
0062
0063
0064 xym_wrapped(inside==1) = xym_unwrapped(inside==1);
0065
0066
0067 [th,r] = cart2pol(real(xym_unwrapped(inside==0)),imag(xym_unwrapped(inside==0)));
0068 [x,y] = pol2cart(th+pi,r);
0069 xym_wrapped(inside==0) = x+i*y;
0070 end