summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci')
-rwxr-xr-xtexmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci51
1 files changed, 51 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci
new file mode 100755
index 00000000..82cf1e2c
--- /dev/null
+++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/KoutenList.sci
@@ -0,0 +1,51 @@
+// 08.05.18
+// 08.05.20
+// 08.06.02
+
+function TenL=KoutenList(PA,V,Bdy)
+ Eps=10.0^(-6);
+ TenL=[];
+ for N=1:Mixlength(Bdy)
+ KL=Op(N,Bdy);
+ for K=1:size(KL,1)-1
+ P=KL(K,:); Q=KL(K+1,:);
+ if P~='/' & Q~='/'
+ Tmp=Kouten(PA,V,P,Q);
+ if Tmp~=[%inf,-%inf]
+ Ten=Mixadd(Tmp,N);
+ Flg=0;
+ NN=Mixlength(TenL);
+ I=1;
+ while Flg==0 & I<=NN
+ Tmp=Op(I,TenL);
+ if Op(1,Ten)<Op(1,Tmp)-Eps
+ Tmp=Mixsub(1:I-1,TenL);
+ Tmp1=Mixadd(Tmp,Ten);
+ Tmp2=Mixsub(I:Mixlength(TenL),TenL);
+ TenL=Mixjoin(Tmp1,Tmp2);
+ Flg=1;
+ elseif Op(1,Ten)<Op(1,Tmp)+Eps
+ if Op(4,Ten)~=Op(4,Tmp)
+ Tmp=Mixsub(1:I-1,TenL);
+ Tmp1=Mixadd(Tmp,Ten);
+ Tmp2=Mixsub(I:Mixlength(TenL),TenL);
+ TenL=Mixjoin(Tmp1,Tmp2);
+ Flg=1;
+ elseif Op(3,Ten)~=Op(3,Tmp)
+ Tmp1=Mixsub(1:I-1,TenL);
+ Tmp2=Mixsub(I+1:Mixlength(TenL),TenL);
+ TenL=Mixjoin(Tmp1,Tmp2);
+ end
+ Flg=1;
+ end
+ I=I+1;
+ end
+ if Flg==0
+ TenL=Mixadd(TenL,Ten);
+ end
+ end
+ end
+ end
+ end
+endfunction
+