Rev 13593 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
13593 | bpr | 2 | !goto proc |
20 | reyssat | 3 | !endif |
4158 | bpr | 4 | |
4351 | bpr | 5 | slib_author=Bernadette, Perrin-Riou |
8352 | bpr | 6 | slib_comment=<pre>8 6 12\ |
7 | 1 1 1\ |
||
8 | 1 1 -1\ |
||
9 | 1 -1 1\ |
||
10 | 1 -1 -1\ |
||
11 | -1 1 1\ |
||
12 | -1 1 -1\ |
||
13 | -1 -1 1\ |
||
14 | -1 -1 -1\ |
||
15 | 4 6 4 0 2\ |
||
16 | 4 5 1 0 4\ |
||
17 | 4 7 5 4 6\ |
||
18 | 4 1 3 2 0\ |
||
19 | 4 3 7 6 2\ |
||
20 | 4 7 3 1 5\ |
||
21 | |||
22 | |||
23 | |||
24 | 1 3\ |
||
25 | 1 5\ |
||
26 | 2 3\ |
||
27 | 2 6\ |
||
28 | 3 7\ |
||
29 | 4 5\ |
||
30 | 4 6\ |
||
31 | 5 7\ |
||
32 | 6 7\ |
||
33 | </pre> |
||
34 | slib_example=8 6 12; 1 1 1;1 1 -1; 1 -1 1; 1 -1 -1;-1 1 1;-1 1 -1;-1 -1 1;-1 -1 -1;4 6 4 0 2;4 5 1 0 4;4 7 5 4 6;4 1 3 2 0;4 3 7 6 2;4 7 3 1 5;0 1;0 2;0 4;1 3;1 5;2 3;2 6;3 7;4 5;4 6;5 7;6 7 |
||
20 | reyssat | 35 | |
36 | !exit |
||
37 | |||
38 | :proc |
||
39 | slib_data = $wims_read_parm |
||
40 | |||
8352 | bpr | 41 | slib_option= !item -1 of $wims_read_parm |
20 | reyssat | 42 | |
43 | slib_out= |
||
44 | |||
45 | |||
46 | !!********** Lecture des données off |
||
47 | |||
48 | slib_off=$slib_data |
||
8352 | bpr | 49 | slib_off=!replace internal ; by $\ |
50 | $ in $slib_off |
||
20 | reyssat | 51 | slib_H=1 |
52 | slib_u=!line 1 of $slib_off |
||
53 | slib_nom=!replace internal # by $empty in $slib_u |
||
54 | !while # isin $slib_u |
||
14218 | bpr | 55 | !advance slib_H |
56 | slib_u=!line $slib_H of $slib_off |
||
20 | reyssat | 57 | !endwhile |
58 | |||
59 | !distribute word $slib_u into slib_S_cnt, slib_F_cnt, slib_A_cnt |
||
60 | |||
61 | slib_sommet=!line $[$slib_H+1] to $[$slib_H+$slib_S_cnt] of $slib_off |
||
62 | slib_sommet=!nonempty lines $slib_sommet |
||
63 | |||
64 | |||
65 | slib_arete=!line $[$slib_H+$slib_S_cnt+$slib_F_cnt+1] to $[$slib_H+$slib_S_cnt+$slib_F_cnt+$slib_A_cnt] of $slib_off |
||
66 | slib_arete=!nonempty line $slib_arete |
||
67 | slib_face=!line $[$slib_H+$slib_S_cnt+1] to $[$slib_H+$slib_S_cnt+$slib_F_cnt] of $slib_off |
||
68 | slib_face=!nonempty line $slib_face |
||
69 | |||
70 | |||
71 | !!********** code de dessin des sommets |
||
72 | |||
73 | slib_out= |
||
74 | slib_Sommet= |
||
75 | !for slib_na=1 to $slib_S_cnt |
||
76 | slib_coord=!line $slib_na of $slib_sommet |
||
77 | slib_out=!append line X$slib_na $slib_coord to $slib_out |
||
78 | slib_Sommet=!append line ATOM X$slib_na 255 0 0 0 to $slib_Sommet |
||
79 | !next slib_na |
||
80 | |||
81 | !!********** code de dessin des arêtes |
||
82 | |||
83 | !for slib_nb=1 to $slib_A_cnt |
||
84 | slib_r=!line $slib_nb of $slib_arete |
||
85 | slib_cnt_r=!itemcnt $slib_r |
||
7692 | bpr | 86 | slib_lien1=!word 1 of $slib_r |
87 | slib_lien2=!word 2 to -1 of $slib_r |
||
20 | reyssat | 88 | slib_r1=!line $[1+$slib_lien1] of $slib_out |
89 | slib_r1=$slib_r1 $[1+$slib_lien1] $[1+$slib_lien2] |
||
90 | slib_out=!replace internal line number $[1+$slib_lien1] by $slib_r1 in $slib_out |
||
91 | !next slib_nb |
||
92 | slib_out=$slib_Sommet\ |
||
93 | $slib_out |