From b235955f171a9dc4a73c82b7b44fc2be52576393 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 20 Apr 2024 03:01:21 +0000 Subject: CTAN sync 202404200301 --- .../contrib/profcollege/metapost/PfCObjets.mp | 257 +++++++++++++++++++++ 1 file changed, 257 insertions(+) (limited to 'macros/latex/contrib/profcollege/metapost/PfCObjets.mp') diff --git a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp index 3b47a88983..fd2fbe0f2d 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp +++ b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp @@ -42,6 +42,263 @@ Transparence:=false; boolean couleurz;%pour gérer l'affichage "des lignes" de niveaux couleurz:=false; + vardef AffichageObjetCylindre[]= + save _affi; + picture _affi; + color Fc[][];color cou[]; + tapj:=0; + for k=0 upto apj.@: + cpt[tapj]:=tapj; + Fc[tapj].nb:=OTFc.@[k].nb; + for l=1 upto Fc[tapj].nb: + Fc[tapj][l]:=OTFc.@[k][l]; + endfor; + Fc[tapj].iso:=OTFc.@[k].iso; + cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi; + ALT[tapj]:=ALT.@[k]; + Vue[tapj]:=Vue.@[k]; + tapj:=tapj+1; + endfor; + tapj:=tapj-1; + QS(0,tapj); + for k=0 step 1 until tapj: + if Vue[cpt[k]]=false: + draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25; + draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25; + fi; + endfor; + n:=0; + for k=0 step 1 until tapj: + if Vue[cpt[k]]: +% label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso)); + n:=n+1; + if n<3: + if cpt[k]>1: + vala[n]=cpt[k]; +% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0)); + else: + n:=n-1; + fi; + fi; + if cpt[k]<1: + draw for l=1 upto Fc[cpt[k]].nb: + Projette(Fc[cpt[k]][l])-- + endfor + cycle;% withpen pencircle scaled0.25; + fi; + if cpt[k]>1: + draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25; + draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25; + fi; + fi; + endfor; + if vala[1]1: + vala[n]=cpt[k]; +% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0)); + else: + n:=n-1; + fi; + fi; + %if cpt[k]<1: + %draw for l=1 upto Fc[cpt[k]].nb: + % Projette(Fc[cpt[k]][l])-- + % endfor + % cycle withpen pencircle scaled0.25; + % fi; + if cpt[k]>1: + draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25; + draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25; + fi; + fi; + endfor; + if vala[1]0: + n:=n+1; + if n<3: + if cpt[k]>1: + vala[n]:=cpt[k]; +% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0)); + else: + n:=n-1; + fi; + fi; + draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp; + fi; + fi; + endfor; + if vala[1]0: + n:=n+1; + if n<3: + if cpt[k]>1: + vala[n]:=cpt[k]; +% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0)); + else: + n:=n-1; + fi; + fi; + draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp; + fi; + fi; + endfor; + if vala[1]1: + if Vue[cpt[k]]: + if cpt[k]