Rev 16997 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7936 | noely | 1 | !if $wims_read_parm!=slib_header |
13594 | bpr | 2 | !goto proc |
7936 | noely | 3 | !endif |
4 | |||
13599 | bpr | 5 | slib_author=Yves, Noël |
6 | slib_comment=crée une projection de Newman |
||
7 | !!exemple à changer ensuite mais sert de test. |
||
13598 | bpr | 8 | slib_example=CH<sub>3</sub>,H<sub>2</sub>N,COOH,Cl,C<sub>2</sub>H<sub>5</sub>,Br,280,2,16\ |
9 | A,B,C,D,E,F,280,2,16 |
||
7936 | noely | 10 | !exit |
11 | |||
12 | :proc |
||
13 | !distribute items $wims_read_parm into slib_text1,slib_text2,slib_text3,slib_text4,slib_text5,slib_text6,slib_size,slib_linewidth,slib_fontsize |
||
14 | |||
15 | !default slib_size=280 |
||
16 | !default slib_linewidth=2 |
||
17 | !default slib_fontsize=16 |
||
18 | |||
19 | !default slib_text1=CH<sub>3</sub> |
||
20 | !default slib_text2=H<sub>2</sub>N |
||
21 | !default slib_text3=COOH |
||
22 | !default slib_text4=Cl |
||
23 | !default slib_text5=C<sub>2</sub>H<sub>5</sub> |
||
24 | !default slib_text6=Br |
||
25 | |||
26 | !set tlarg= !eval 100 |
||
27 | !set thaut= !eval 50 |
||
28 | |||
29 | !set hachureH_larg=!eval 2*$slib_linewidth |
||
30 | !set hachureH_esp=!eval 4*$slib_linewidth |
||
31 | !set tri_taille=!eval $slib_size/4 |
||
32 | !set tri_larg=!eval $slib_size/12 |
||
33 | |||
34 | !set largeur= !eval $slib_size |
||
35 | !set hauteur= !eval $slib_size |
||
36 | |||
37 | !set tri_bas= !eval 0.91*$tri_taille |
||
38 | !set tri_taille2= !eval $tri_taille/2 |
||
39 | !set tri_gauche= !eval $tri_taille2-$tri_larg/2 |
||
40 | !set tri_droite= !eval $tri_taille2+$tri_larg/2 |
||
41 | !set hachureH_haut= !eval $hachureH_esp+$hachureH_larg |
||
42 | !set hachureH_haut2= !eval $hachureH_esp+$hachureH_larg/2 |
||
43 | |||
44 | !set ang_tri_proch=-20 |
||
45 | !set ang_tri_ecart=-30 |
||
46 | |||
47 | !set centre_g_x=!eval $slib_size/2-$tri_taille/3 |
||
48 | !set centre_g_y=!eval $slib_size/2 |
||
49 | !set centre_d_x=!eval $slib_size/2+$tri_taille/3 |
||
50 | !set centre_d_y=!eval $slib_size/2 |
||
51 | !set centre_g_x2=!eval $centre_g_x+$tri_taille2 |
||
52 | !set centre_d_x2=!eval $centre_d_x+$tri_taille2 |
||
16997 | bpr | 53 | !set ang_dev_bd= $ang_tri_proch |
9018 | bpr | 54 | !set ang_der_bd= !eval $ang_tri_proch + $ang_tri_ecart |
7936 | noely | 55 | !set ang_der_hd= !eval -150 |
56 | !set ang_dev_hd= !eval -120 |
||
57 | !set ang_der_hg= !eval 180+$ang_der_bd |
||
58 | !set ang_dev_hg= !eval 180+$ang_dev_bd |
||
59 | !set ang_dev_bg= !eval 180+$ang_der_hd |
||
60 | !set ang_der_bg= !eval 180+$ang_dev_hd |
||
61 | !set ang_in_bg= !eval ($ang_dev_bg+$ang_der_bg)/2 |
||
62 | !set ang_in_bd= !eval ($ang_dev_bd+$ang_der_bd)/2 |
||
63 | !set ang_in_hg= !eval ($ang_dev_hg+$ang_der_hg)/2 |
||
64 | !set ang_in_hd= !eval ($ang_dev_hd+$ang_der_hd)/2 |
||
65 | !set ang_bc= !eval -50 |
||
66 | ################################################################### |
||
67 | !set c_in_hg= !eval cos($ang_in_hg/180*pi) |
||
68 | !set s_in_hg= !eval sin($ang_in_hg/180*pi) |
||
69 | |||
70 | !set c_in_bd= !eval cos($ang_in_bd/180*pi) |
||
71 | !set s_in_bd= !eval sin($ang_in_bd/180*pi) |
||
72 | !set c_dev_hd= !eval cos($ang_dev_hd/180*pi) |
||
73 | !set s_dev_hd= !eval sin($ang_dev_hd/180*pi) |
||
74 | !set c_der_hd= !eval cos($ang_der_hd/180*pi) |
||
75 | !set s_der_hd= !eval sin($ang_der_hd/180*pi) |
||
76 | !set c_in_hd= !eval cos($ang_in_hd/180*pi) |
||
77 | !set s_in_hd= !eval sin($ang_in_hd/180*pi) |
||
78 | !set c_dev_bd= !eval cos($ang_dev_bd/180*pi) |
||
79 | !set s_dev_bd= !eval sin($ang_dev_bd/180*pi) |
||
80 | !set c_der_bd= !eval cos($ang_der_bd/180*pi) |
||
81 | !set s_der_bd= !eval sin($ang_der_bd/180*pi) |
||
82 | !set c_in_bg= !eval cos($ang_in_bg/180*pi) |
||
83 | !set s_in_bg= !eval sin($ang_in_bg/180*pi) |
||
84 | !set c_dev_hg= !eval cos($ang_dev_hg/180*pi) |
||
85 | !set s_dev_hg= !eval sin($ang_dev_hg/180*pi) |
||
86 | !set c_der_hg= !eval cos($ang_der_hg/180*pi) |
||
87 | !set s_der_hg= !eval sin($ang_der_hg/180*pi) |
||
88 | !set c_in_hg= !eval cos($ang_in_hg/180*pi) |
||
89 | !set s_in_hg= !eval sin($ang_in_hg/180*pi) |
||
90 | !set c_dev_bg= !eval cos($ang_dev_bg/180*pi) |
||
91 | !set s_dev_bg= !eval sin($ang_dev_bg/180*pi) |
||
92 | !set c_der_bg= !eval cos($ang_der_bg/180*pi) |
||
93 | !set s_der_bg= !eval sin($ang_der_bg/180*pi) |
||
94 | |||
95 | |||
96 | |||
97 | |||
98 | !set in_hg_x= !eval $centre_g_x+$tri_taille2-$s_in_hg*$tri_bas-$tlarg |
||
99 | !set in_hg_y= !eval $centre_g_y+ $c_in_hg*$tri_bas-$slib_fontsize/2 |
||
100 | !set dev_bg_x= !eval $centre_g_x+$tri_taille2-$s_dev_bg*$tri_bas-$tlarg |
||
101 | !set dev_bg_y= !eval $centre_g_y+$c_dev_bg*$tri_bas-$slib_fontsize/2 |
||
102 | !set der_bg_x= !eval $centre_g_x+$tri_taille2-$s_der_bg*$tri_bas-$tlarg |
||
103 | !set der_bg_y= !eval $centre_g_y+$c_der_bg*$tri_bas-$slib_fontsize/2 |
||
104 | !set in_bg_x= !eval $centre_g_x+$tri_taille2-$s_in_bg*$tri_bas-$tlarg |
||
105 | !set in_bg_y= !eval $centre_g_y+$c_in_bg*$tri_bas-$slib_fontsize/2 |
||
106 | !set dev_hg_x= !eval $centre_g_x+$tri_taille2-$s_dev_hg*$tri_bas-$tlarg |
||
107 | !set dev_hg_y= !eval $centre_g_y+$c_dev_hg*$tri_bas-$slib_fontsize/2 |
||
108 | !set der_hg_x= !eval $centre_g_x+$tri_taille2-$s_der_hg*$tri_bas-$tlarg |
||
109 | !set der_hg_y= !eval $centre_g_y+$c_der_hg*$tri_bas-$slib_fontsize/2 |
||
110 | |||
111 | !set in_bd_x= !eval $centre_d_x+$tri_taille2-$s_in_bd*$tri_bas |
||
112 | !set in_bd_y= !eval $centre_d_y+$c_in_bd*$tri_bas |
||
113 | !set dev_hd_x= !eval $centre_d_x+$tri_taille2-$s_dev_hd*$tri_bas |
||
114 | !set dev_hd_y= !eval $centre_d_y+$c_dev_hd*$tri_bas-$slib_fontsize/2 |
||
115 | !set der_hd_x= !eval $centre_d_x+$tri_taille2-$s_der_hd*$tri_bas |
||
116 | !set der_hd_y= !eval $centre_d_y+$c_der_hd*$tri_bas-$slib_fontsize/2 |
||
117 | !set in_hd_x= !eval $centre_d_x+$tri_taille2-$s_in_hd*$tri_bas |
||
118 | !set in_hd_y= !eval $centre_d_y+$c_in_hd*$tri_bas |
||
119 | !set dev_bd_x= !eval $centre_d_x+$tri_taille2-$s_dev_bd*$tri_bas |
||
120 | !set dev_bd_y= !eval $centre_d_y+$c_dev_bd*$tri_bas-$slib_fontsize/2 |
||
121 | !set der_bd_x= !eval $centre_d_x+$tri_taille2-$s_der_bd*$tri_bas |
||
122 | !set der_bd_y= !eval $centre_d_y+$c_der_bd*$tri_bas-$slib_fontsize/2 |
||
123 | |||
124 | |||
125 | !set px=px |
||
126 | |||
127 | !set slib_out=\ |
||
13594 | bpr | 128 | <style>\ |
7936 | noely | 129 | .gauche { \ |
130 | text-align : right;\ |
||
131 | width : $tlarg;\ |
||
132 | height : $thaut;\ |
||
133 | font-size: $slib_fontsize$px;\ |
||
134 | margin-right : 5px;\ |
||
135 | float : right;\ |
||
136 | }\ |
||
137 | .droite { \ |
||
138 | text-align : left;\ |
||
139 | width : $tlarg;\ |
||
140 | height : $thaut;\ |
||
141 | font-size: $slib_fontsize$px;\ |
||
142 | margin-left : 5px;\ |
||
143 | float : left;\ |
||
144 | }\ |
||
145 | .haut { \ |
||
146 | text-align : left;\ |
||
147 | width : $tlarg;\ |
||
148 | height : $thaut;\ |
||
149 | font-size: $slib_fontsize$px;\ |
||
150 | float : left;\ |
||
151 | margin-bottom : 5px;\ |
||
152 | }\ |
||
153 | .bas { \ |
||
154 | text-align : left;\ |
||
155 | width : $tlarg;\ |
||
156 | height : $thaut;\ |
||
157 | font-size: $slib_fontsize$px;\ |
||
158 | float : left;\ |
||
159 | }\ |
||
160 | .liaison {\ |
||
161 | fill:none;\ |
||
162 | stroke:black;\ |
||
163 | stroke-width:$slib_linewidth;\ |
||
164 | }\ |
||
165 | .plein {\ |
||
166 | fill:black; \ |
||
167 | fill-opacity:1;\ |
||
168 | stroke:none;\ |
||
169 | }\ |
||
170 | .hachure {\ |
||
171 | fill:url(#motifhachureH); \ |
||
172 | fill-opacity:1;\ |
||
173 | stroke:none;\ |
||
174 | }\ |
||
175 | </style>\ |
||
176 | <svg id="cram" width="$largeur" height="$hauteur" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >\ |
||
177 | <defs>\ |
||
178 | <pattern id="motifhachureH" patternUnits="userSpaceOnUse"\ |
||
179 | x="0" y="0" width="100" height="$hachureH_haut">\ |
||
17173 | bpr | 180 | <line style="stroke:white;stroke-width:1$px; " x1="0" y1="0" x2="100" y2="0">\ |
7936 | noely | 181 | <line style="stroke:black;stroke-width:$hachureH_larg$px;"\ |
17173 | bpr | 182 | x1="0" y1="$hachureH_haut2" x2="100" y2="$hachureH_haut2">\ |
7936 | noely | 183 | </pattern> \ |
17173 | bpr | 184 | <line id="inplane" x1="$tri_taille2" y1="1" x2="$tri_taille2" y2="$tri_bas">\ |
185 | <polygon id="tri" points="$tri_taille2,1,$tri_gauche,$tri_bas,$tri_droite,$tri_bas">\ |
||
186 | <use id="devbc" xlink:href="#tri">\ |
||
187 | <use id="derbc" xlink:href="#tri">\ |
||
7936 | noely | 188 | \ |
17173 | bpr | 189 | <use id="devbd" xlink:href="#tri" transform="rotate($ang_dev_bd,$tri_taille2,1)" class="plein">\ |
190 | <use id="devhd" xlink:href="#tri" transform="rotate($ang_dev_hd,$tri_taille2,1)" class="plein">\ |
||
191 | <use id="derbd" xlink:href="#tri" transform="rotate($ang_der_bd,$tri_taille2,1)" class="hachure">\ |
||
192 | <use id="derhd" xlink:href="#tri" transform="rotate($ang_der_hd,$tri_taille2,1)" class="hachure">\ |
||
7936 | noely | 193 | \ |
17173 | bpr | 194 | <use id="devbg" xlink:href="#tri" transform="rotate($ang_dev_bg,$tri_taille2,1)" class="plein">\ |
195 | <use id="devhg" xlink:href="#tri" transform="rotate($ang_dev_hg,$tri_taille2,1)" class="plein">\ |
||
196 | <use id="derbg" xlink:href="#tri" transform="rotate($ang_der_bg,$tri_taille2,1)" class="hachure">\ |
||
197 | <use id="derhg" xlink:href="#tri" transform="rotate($ang_der_hg,$tri_taille2,1)" class="hachure">\ |
||
7936 | noely | 198 | \ |
17173 | bpr | 199 | <use id="inbd" xlink:href="#inplane" transform="rotate($ang_in_bd,$tri_taille2,1)" class="liaison">\ |
200 | <use id="inbg" xlink:href="#inplane" transform="rotate($ang_in_bg,$tri_taille2,1)" class="liaison">\ |
||
201 | <use id="inhd" xlink:href="#inplane" transform="rotate($ang_in_hd,$tri_taille2,1)" class="liaison">\ |
||
202 | <use id="inhg" xlink:href="#inplane" transform="rotate($ang_in_hg,$tri_taille2,1)" class="liaison">\ |
||
7936 | noely | 203 | </defs>\ |
204 | \ |
||
205 | <g id="cram_tot" transform="translate(-$tri_taille2,0)">\ |
||
17173 | bpr | 206 | <use xlink:href="#derhd" x="$centre_d_x" y="$centre_d_y">\ |
207 | <use xlink:href="#devhd" x="$centre_d_x" y="$centre_d_y">\ |
||
208 | <use xlink:href="#inbd" x="$centre_d_x" y="$centre_d_y">\ |
||
209 | <use xlink:href="#derbg" x="$centre_g_x" y="$centre_g_y">\ |
||
210 | <use xlink:href="#devbg" x="$centre_g_x" y="$centre_g_y">\ |
||
211 | <use xlink:href="#inhg" x="$centre_g_x" y="$centre_g_y">\ |
||
7936 | noely | 212 | <!--\ |
17173 | bpr | 213 | <use xlink:href="#derbd" x="$centre_d_x" y="$centre_d_y">\ |
214 | <use xlink:href="#devbd" x="$centre_d_x" y="$centre_d_y">\ |
||
215 | <use xlink:href="#derhg" x="$centre_g_x" y="$centre_g_y">\ |
||
216 | <use xlink:href="#devhg" x="$centre_g_x" y="$centre_g_y">\ |
||
217 | <use xlink:href="#inhd" x="$centre_d_x" y="$centre_d_y">\ |
||
218 | <use xlink:href="#inbg" x="$centre_g_x" y="$centre_g_y">\ |
||
7936 | noely | 219 | -->\ |
17173 | bpr | 220 | <line x1="$centre_g_x2" y1="$centre_g_y" x2="$centre_d_x2" y2="$centre_d_y" class="liaison">\ |
7936 | noely | 221 | \ |
222 | <foreignObject class="node" x="$in_hg_x" y="$in_hg_y" width="$tlarg$px" height="$thaut$px">\ |
||
223 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
224 | <div id="tc1" class="gauche">$slib_text4</div>\ |
||
225 | </body>\ |
||
226 | </foreignObject>\ |
||
227 | <foreignObject class="node" x="$dev_bg_x" y="$dev_bg_y" width="$tlarg$px" height="$thaut$px">\ |
||
228 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
229 | <div id="tc2" class="gauche">$slib_text6</div>\ |
||
230 | </body>\ |
||
231 | </foreignObject>\ |
||
232 | <foreignObject class="node" x="$der_bg_x" y="$der_bg_y" width="$tlarg$px" height="$thaut$px">\ |
||
233 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
234 | <div id="tc3" class="gauche">$slib_text5</div>\ |
||
235 | </body>\ |
||
236 | </foreignObject>\ |
||
237 | \ |
||
238 | \ |
||
239 | <foreignObject class="node" x="$in_bd_x" y="$in_bd_y" width="$tlarg$px" height="$thaut$px">\ |
||
240 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
241 | <div id="tc4" class="droite">$slib_text1</div>\ |
||
242 | </body>\ |
||
243 | </foreignObject>\ |
||
244 | <foreignObject class="node" x="$dev_hd_x" y="$dev_hd_y" width="$tlarg$px" height="$thaut$px">\ |
||
245 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
246 | <div id="tc5" class="droite">$slib_text2</div>\ |
||
247 | </body>\ |
||
248 | </foreignObject>\ |
||
249 | <foreignObject class="node" x="$der_hd_x" y="$der_hd_y" width="$tlarg$px" height="$thaut$px">\ |
||
250 | <body xmlns="http://www.w3.org/1999/xhtml">\ |
||
251 | <div id="tc6" class="droite">$slib_text3</div>\ |
||
252 | </body>\ |
||
253 | </foreignObject>\ |
||
254 | </g>\ |
||
255 | </svg> |