summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketcindy/ketlib/ketpicscifiles6/Drwpt.sci
blob: 5cb45c6f05a1523ce0b53219465bd17829536a61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// 08.05.31
// 09.12.25
// 10.01.01

function Drwpt(varargin)
  global Wfile FID TenSize TenSizeInit MilliIn;
  Nargs=length(varargin);
  if TenSize>TenSizeInit
    N=round(6*sqrt(TenSize/TenSizeInit));
  else
    N=4
  end
  Tmp=varargin(Nargs);
  if type(Tmp)==1
    if length(Tmp)>1
      Kosa=1; All=Nargs;
    else
      Kosa=Tmp; All=Nargs-1;
    end;
  elseif type(Tmp)==15
      Kosa=1; All=Nargs;
  end;
  CL=[];
  for J=0:N
    Tmp=TenSize*0.5*1000/2.54/MilliIn;
    Tmp=Tmp*[cos(%pi/4+J*2*%pi/N),sin(%pi/4+J*2*%pi/N)];
    CL=[CL;Tmp];
  end
  for II=1:All
    Tmp=varargin(II);
	MS=Flattenlist(Tmp);  // 11.05.29
    for I=1:length(MS);
      P=Op(I,MS);
      if InWindow(P)~='i'
        continue
      end
      P=Doscaling(P);
      PL=[];
      for J=0:N
        PL=[PL;P+CL(J+1,:)];
      end;
      Mojisu=0;
      for J=1:size(PL,1)
        Q=PL(J,:);
        X=string(round(MilliIn*Q(1)));
        Y=string(-round(MilliIn*Q(2)));
        Str='\special{pa '+X+' '+Y+'}'
        if Wfile=='default'
          mprintf('%s',Str);
        else
          mfprintf(FID,'%s',Str);
        end
        Mojisu=Mojisu+length(Str);
        if Mojisu>80
          if Wfile=='default'
            mprintf('%s\n','%');
          else
            mfprintf(FID,'%s\n','%');
          end
          Mojisu=0;
        end
      end;
      Str1='\special{sh '+string(Kosa)+'}';
      Str2='\special{fp}%';
      if Wfile=='default'
        mprintf('%s',Str1);
        mprintf('%s\n',Str2);
      else
        mfprintf(FID,'%s',Str1);
        mfprintf(FID,'%s\n',Str2);
      end
    end
  end
endfunction