summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Skeleton2data.sci
blob: 4eec31cf5fb8f7aebc49a195ca073e670227f0da (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
// 08.08.14
// 08.10.16
// 09.06.13

function Out=Skeleton2data(varargin)
  global MilliIn;
  Nargs=length(varargin);
  Out=[];
  Tmp=varargin(1);
  if Mixtype(Tmp)==1
    ObjL=MixS(Tmp);
  elseif Mixtype(Tmp)==2
    ObjL=Tmp;
  else
    ObjL=[];
    for I=1:Mixlength(Tmp)
      Tmp1=Mixop(I,Tmp);
      if Mixtype(Tmp1)==1
        ObjL=Mixadd(ObjL,Tmp1);
      else
        ObjL=Mixjoin(ObjL,Tmp1);
      end;
    end;
  end;
  Tmp=varargin(2);
  if Mixtype(Tmp)==1
    PltL=MixS(Tmp);
  elseif Mixtype(Tmp)==2
    PltL=Tmp
  else
    PltL=[];
    for I=1:Mixlength(Tmp)
      Tmp1=Mixop(I,Tmp);
      if Mixtype(Tmp1)==1
        PltL=Mixadd(PltL,Tmp1);
      else
        PltL=Mixjoin(PltL,Tmp1);
      end;
    end;
  end; 
  R=0.075*1000/2.54/MilliIn;
  if Nargs>2
    R=R*varargin(3);
  end;
  Eps2=0.01;
  if Nargs>3
    Eps2=varargin(4);
  end;
  Obj2L=[];
  for I=1:Mixlength(ObjL)
    Curve=Mixop(I,ObjL);
    Obj2=[];
    for J=1:size(Curve,1)
      P=Curve(J,:);
      Obj2=[Obj2;P,-1];
    end;
    Obj2L=Mixadd(Obj2L,Obj2);
  end;
  Plt2L=[]
  for I=1:Mixlength(PltL)
    Curve=Mixop(I,PltL);
    Plt2=[];
    for J=1:size(Curve,1)
      P=Curve(J,:);
      Plt2=[Plt2;P,0];
    end;
    Plt2L=Mixadd(Plt2L,Plt2);
  end;
  Out=Makeskeletondata(Obj2L,Plt2L,R,Eps2);
endfunction