Subversion Repositories wimsdev

Rev

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>