COPASI API  4.16.103
CLDefaultStyles.cpp
Go to the documentation of this file.
1 // Copyright (C) 2010 - 2015 by Pedro Mendes, Virginia Tech Intellectual
2 // Properties, Inc., University of Heidelberg, and The University
3 // of Manchester.
4 // All rights reserved.
5 
6 #include "CLDefaultStyles.h"
7 
8 #define USE_LAYOUT 1
9 #define USE_RENDER 1
10 
11 // render includes
12 #include <sbml/packages/render/sbml/GlobalRenderInformation.h>
13 
14 // xml includes
15 //
16 #include <sbml/xml/XMLInputStream.h>
17 #include <sbml/xml/XMLNode.h>
18 
19 /**
20  * A pointer to the list of default styles.
21  */
23 
24 const char* DEFAULT_STYLES_STRING = \
25  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
26  "<listOfGlobalRenderInformation xmlns=\"http://projects.eml.org/bcb/sbml/render/version1_0_0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
27  "<renderInformation id='simple_default' name='Copasi simple style'>\n"
28  " <listOfColorDefinitions>\n"
29  " <colorDefinition id='black' value='#000000' />\n"
30  " <colorDefinition id='white' value='#ffffff' />\n"
31  " <colorDefinition id='transparent' value='#ffffff00' />\n"
32  " <colorDefinition id='EmptySetOutline' value='#808080' />\n"
33  " <colorDefinition id='EmptySetGradientStart' value='#ffffff' />\n"
34  " <colorDefinition id='EmptySetGradientEnd' value='#d3d3d3' />\n"
35  " <colorDefinition id='CompartmentBorder' value='#e69600b0' />\n"
36  " <colorDefinition id='CloneMarkerColor' value='#ffa500' />\n"
37  " <colorDefinition id='CurveColor' value='#000000a0' />\n"
38  " <colorDefinition id='ModulationCurveColor' value='#0000a0a0' />\n"
39  " </listOfColorDefinitions>\n"
40  " <listOfGradientDefinitions>\n"
41  " <linearGradient x1='50%' y1='0%' z1='0%' x2='50%' y2='100%' z2='100%' id='cloneMarker' spreadMethod='pad'>\n"
42  " <stop offset='0.0' stop-color='transparent' />\n"
43  " <stop offset='0.75' stop-color='transparent' />\n"
44  " <stop offset='0.76' stop-color='CloneMarkerColor' />\n"
45  " <stop offset='1.0' stop-color='CloneMarkerColor' />\n"
46  " </linearGradient>\n"
47  " <linearGradient x1='0%' y1='0%' z1='0%' x2='100%' y2='100%' z2='100%' id='EmptySetGradient' spreadMethod='pad'>\n"
48  " <stop offset='0%' stop-color='EmptySetGradientStart' />\n"
49  " <stop offset='100%' stop-color='EmptySetGradientEnd' />\n"
50  " </linearGradient>\n"
51  " </listOfGradientDefinitions>\n"
52  " <listOfLineEndings>\n"
53  " <lineEnding id='ActivationHead' enableRotationalMapping='true'>\n"
54  " <boundingBox>\n"
55  " <position x='-12' y='-6' />\n"
56  " <dimensions width='12' height='12' />\n"
57  " </boundingBox>\n"
58  " <g stroke='CurveColor' stroke-width='1' fill='white'>\n"
59  " <ellipse stroke='black' stroke-width='1.0' cx='50%' cy='50%' cz='0.0' rx='50%' ry='50%' />\n"
60  " </g>\n"
61  " </lineEnding>\n"
62  " <lineEnding id='TransitionHead' enableRotationalMapping='true'>\n"
63  " <boundingBox>\n"
64  " <position x='-8' y='-6' />\n"
65  " <dimensions width='12' height='12' />\n"
66  " </boundingBox>\n"
67  " <g stroke='CurveColor' stroke-width='0.001' fill='CurveColor'>\n"
68  " <polygon fill='CurveColor'>\n"
69  " <listOfCurveSegments>\n"
70  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
71  " <start x='0%' y='0%' />\n"
72  " <end x='100%' y='50%' />\n"
73  " </curveSegment>\n"
74  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
75  " <start x='100%' y='50%' />\n"
76  " <end x='0%' y='100%' />\n"
77  " </curveSegment>\n"
78  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
79  " <start x='0%' y='100%' />\n"
80  " <end x='33%' y='50%' />\n"
81  " </curveSegment>\n"
82  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
83  " <start x='33%' y='50%' />\n"
84  " <end x='0%' y='0%' />\n"
85  " </curveSegment>\n"
86  " </listOfCurveSegments>\n"
87  " </polygon>\n"
88  " </g>\n"
89  " </lineEnding>\n"
90  " <lineEnding id='ModulationHead' enableRotationalMapping='true'>\n"
91  " <boundingBox>\n"
92  " <position x='-5' y='-5' />\n"
93  " <dimensions width='10' height='10' />\n"
94  " </boundingBox>\n"
95  " <g stroke='ModulationCurveColor' stroke-width='1' fill='ModulationCurveColor'>\n"
96  " <ellipse cx='50%' cy='50%' rx='45%'/>\n"
97  " </g>\n"
98  " </lineEnding>\n"
99  " <lineEnding id='InhibitionHead' enableRotationalMapping='true'>\n"
100  " <boundingBox>\n"
101  " <position x='-0.5' y='-4' />\n"
102  " <dimensions width='0.6' height='8' />\n"
103  " </boundingBox>\n"
104  " <g stroke='black' stroke-width='2' fill='black'>\n"
105  " <polygon>\n"
106  " <listOfElements>\n"
107  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.0' y='0.0'/>\n"
108  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.3' y='0.0'/>\n"
109  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.3' y='8.0'/>\n"
110  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.0' y='8.0'/>\n"
111  " </listOfElements>\n"
112  " </polygon>\n"
113  " </g>\n"
114  " </lineEnding>\n"
115  "</listOfLineEndings>\n"
116  " <listOfStyles>\n"
117  " <style roleList='invisible'>\n"
118  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
119  " </style>\n"
120  " <style roleList='defaultText' typeList='TEXTGLYPH'>\n"
121  " <g stroke='black' stroke-width='1' font-family='Verdana' font-size='12' font-weight='normal' font-style='normal' vtext-anchor='middle' text-anchor='middle'></g>\n"
122  " </style>\n"
123  " <style roleList='substrate sidesubstrate' typeList='REACTIONGLYPH'>\n"
124  " <g stroke='CurveColor' stroke-width='3.0' />\n"
125  " </style>\n"
126  " <style roleList='inhibitor inhibition SBO-0000169'>\n"
127  " <g stroke='CurveColor' stroke-width='3.0' endHead='InhibitionHead' />\n"
128  " </style>\n"
129  " <style roleList='modifier SBO-0000168'>\n"
130  " <g stroke='ModulationCurveColor' stroke-width='3.0' fill='white' endHead='ModulationHead' />\n"
131  " </style>\n"
132  " <style roleList='catalysis activator SBO-0000172'>\n"
133  " <g stroke='CurveColor' stroke-width='3.0' fill='white' endHead='ActivationHead' />\n"
134  " </style>\n"
135  " <style roleList='product sideproduct' typeList='product sideproduct'>\n"
136  " <g stroke='CurveColor' stroke-width='3.0' endHead='TransitionHead' />\n"
137  " </style>\n"
138  " \n"
139  " <style roleList='SBO-0000285 NO-SBO' typeList='SPECIESGLYPH'>\n"
140  " <!-- Unspecified Entity -->\n"
141  " <g fill='#a0e0a030'>\n"
142  " <rectangle x='0' y='0' width='100%' height='100%' />\n"
143  " </g>\n"
144  " </style>\n"
145  " <style roleList='SBO-0000289' typeList='COMPARTMENTGLYPH'>\n"
146  " <!-- Compartment -->\n"
147  " <g stroke='CompartmentBorder' stroke-width='7' >\n"
148  " <rectangle x='0' y='0' width='100%' height='100%' rx='20' ry='20' />\n"
149  " </g>\n"
150  " </style>\n"
151  " <style roleList='' typeList='ANY'>\n"
152  " <!-- Unspecified Entity -->\n"
153  " <g stroke='black' fill='#f0707070'>\n"
154  " <rectangle x='0' y='0' width='100%' height='100%' />\n"
155  " </g>\n"
156  " </style>\n"
157  " </listOfStyles>\n"
158  "</renderInformation>\n"
159 
160  "<renderInformation id='SBGN_default' name='SBGN Default style'>\n"
161  " <listOfColorDefinitions>\n"
162  " <colorDefinition id='black' value='#000000' />\n"
163  " <colorDefinition id='white' value='#ffffff' />\n"
164  " <colorDefinition id='transparent' value='#ffffff00' />\n"
165  " <colorDefinition id='EmptySetOutline' value='#808080' />\n"
166  " <colorDefinition id='EmptySetGradientStart' value='#ffffff' />\n"
167  " <colorDefinition id='EmptySetGradientEnd' value='#d3d3d3' />\n"
168  " <colorDefinition id='CompartmentBorder' value='#666666' />\n"
169  " <colorDefinition id='CompartmentGradientStart' value='#CCCCCC' />\n"
170  " <colorDefinition id='CompartmentGradientEnd' value='#CCCCFF' />\n"
171  " <colorDefinition id='CloneMarkerColor' value='#ffa500' />\n"
172  " <colorDefinition id='EPNGradientStart' value='#ffffff' />\n"
173  " <colorDefinition id='EPNGradientEnd' value='#c0c0c0' />\n"
174  " </listOfColorDefinitions>\n"
175  " <listOfGradientDefinitions>\n"
176  " <linearGradient x1='0%' y1='0%' z1='0%' x2='100%' y2='100%' z2='100%' id='EPNBackgroundGradient' spreadMethod='pad'>\n"
177  " <stop offset='0%' stop-color='EPNGradientStart' />\n"
178  " <stop offset='100%' stop-color='EPNGradientEnd' />\n"
179  " </linearGradient>\n"
180  " <linearGradient x1='50%' y1='0%' z1='0%' x2='50%' y2='100%' z2='100%' id='cloneMarker' spreadMethod='pad'>\n"
181  " <stop offset='0.0' stop-color='transparent' />\n"
182  " <stop offset='0.75' stop-color='transparent' />\n"
183  " <stop offset='0.76' stop-color='CloneMarkerColor' />\n"
184  " <stop offset='1.0' stop-color='CloneMarkerColor' />\n"
185  " </linearGradient>\n"
186  " <linearGradient x1='0%' y1='0%' z1='0%' x2='100%' y2='100%' z2='100%' id='EmptySetGradient' spreadMethod='pad'>\n"
187  " <stop offset='0%' stop-color='EmptySetGradientStart' />\n"
188  " <stop offset='100%' stop-color='EmptySetGradientEnd' />\n"
189  " </linearGradient>\n"
190  " <linearGradient x1='0%' y1='0%' z1='0%' x2='100%' y2='100%' z2='100%' id='CompartmentGradient' spreadMethod='pad'>\n"
191  " <!--<stop offset='0%' stop-color='#ffdead' />\n"
192  " <stop offset='100%' stop-color='#ffebcd' />-->\n"
193  " <stop offset='0%' stop-color='CompartmentGradientStart' />\n"
194  " <stop offset='100%' stop-color='CompartmentGradientEnd' />\n"
195  " </linearGradient>\n"
196  " </listOfGradientDefinitions>\n"
197  " <listOfLineEndings>\n"
198  " <lineEnding id='ActivationHead' enableRotationalMapping='true'>\n"
199  " <boundingBox>\n"
200  " <position x='-12' y='-6' />\n"
201  " <dimensions width='12' height='12' />\n"
202  " </boundingBox>\n"
203  " <g stroke='black' stroke-width='1' fill='white'>\n"
204  " <ellipse stroke='black' stroke-width='1.0' cx='50%' cy='50%' cz='0.0' rx='50%' ry='50%' />\n"
205  " </g>\n"
206  " </lineEnding>\n"
207  " <lineEnding id='TransitionHead' enableRotationalMapping='true'>\n"
208  " <boundingBox>\n"
209  " <position x='-12' y='-6' />\n"
210  " <dimensions width='12' height='12' />\n"
211  " </boundingBox>\n"
212  " <g stroke='black' stroke-width='0.001' fill='black'>\n"
213  " <polygon fill='black'>\n"
214  " <listOfCurveSegments>\n"
215  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
216  " <start x='0%' y='0%' />\n"
217  " <end x='100%' y='50%' />\n"
218  " </curveSegment>\n"
219  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
220  " <start x='100%' y='50%' />\n"
221  " <end x='0%' y='100%' />\n"
222  " </curveSegment>\n"
223  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
224  " <start x='0%' y='100%' />\n"
225  " <end x='33%' y='50%' />\n"
226  " </curveSegment>\n"
227  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
228  " <start x='33%' y='50%' />\n"
229  " <end x='0%' y='0%' />\n"
230  " </curveSegment>\n"
231  " </listOfCurveSegments>\n"
232  " </polygon>\n"
233  " </g>\n"
234  " </lineEnding>\n"
235  " <lineEnding id='ModulationHead' enableRotationalMapping='true'>\n"
236  " <boundingBox>\n"
237  " <position x='0' y='-5' />\n"
238  " <dimensions width='10' height='10' />\n"
239  " </boundingBox>\n"
240  " <g stroke='black' stroke-width='1' fill='white'>\n"
241  " <polygon>\n"
242  " <listOfCurveSegments>\n"
243  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
244  " <start x='0' y='5' />\n"
245  " <end x='5' y='10' />\n"
246  " </curveSegment>\n"
247  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
248  " <start x='5' y='10' />\n"
249  " <end x='10' y='5' />\n"
250  " </curveSegment>\n"
251  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
252  " <start x='10' y='5' />\n"
253  " <end x='5' y='0' />\n"
254  " </curveSegment>\n"
255  " <curveSegment xsi:type='LineSegment' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n"
256  " <start x='5' y='0' />\n"
257  " <end x='0' y='5' />\n"
258  " </curveSegment>\n"
259  " </listOfCurveSegments>\n"
260  " </polygon>\n"
261  " </g>\n"
262  " </lineEnding>\n"
263  " <lineEnding id='InhibitionHead' enableRotationalMapping='true'>\n"
264  " <boundingBox>\n"
265  " <position x='-0.5' y='-4' />\n"
266  " <dimensions width='0.6' height='8' />\n"
267  " </boundingBox>\n"
268  " <g stroke='black' stroke-width='2' fill='black'>\n"
269  " <polygon>\n"
270  " <listOfElements>\n"
271  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.0' y='0.0'/>\n"
272  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.3' y='0.0'/>\n"
273  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.3' y='8.0'/>\n"
274  " <element xsi:type='RenderPoint' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' x='0.0' y='8.0'/>\n"
275  " </listOfElements>\n"
276  " </polygon>\n"
277  " </g>\n"
278  " </lineEnding>\n"
279  "</listOfLineEndings>\n"
280  " <listOfStyles>\n"
281  " <style roleList='invisible'>\n"
282  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
283  " </style>\n"
284  " <style roleList='defaultText' typeList='TEXTGLYPH'>\n"
285  " <g stroke='black' stroke-width='1' font-family='Verdana' font-size='10' font-weight='normal' font-style='normal' text-anchor='middle' vtext-anchor='middle'></g>\n"
286  " </style>\n"
287  " <style roleList='substrate sidesubstrate' typeList='REACTIONGLYPH'>\n"
288  " <g stroke='black' stroke-width='2.0' />\n"
289  " </style>\n"
290  " <style roleList='inhibitor inhibition SBO-0000169'>\n"
291  " <g stroke='black' stroke-width='2.0' endHead='InhibitionHead' />\n"
292  " </style>\n"
293  " <style roleList='modifier SBO-0000168'>\n"
294  " <g stroke='black' stroke-width='2.0' fill='white' endHead='ModulationHead' />\n"
295  " </style>\n"
296  " <style roleList='catalysis activator SBO-0000172'>\n"
297  " <g stroke='black' stroke-width='2.0' fill='white' endHead='ActivationHead' />\n"
298  " </style>\n"
299  " <style roleList='product sideproduct' typeList='product sideproduct'>\n"
300  " <g stroke='black' stroke-width='2.0' endHead='TransitionHead' />\n"
301  " </style>\n"
302  " \n"
303  " <style roleList='SBO-0000285 NO-SBO' typeList='SPECIESGLYPH ANY'>\n"
304  " <!-- Unspecified Entity -->\n"
305  " <g stroke='black' stroke-width='2' fill='EPNBackgroundGradient'>\n"
306  " <ellipse cx='50%' cy='50%' cz='0.0' rx='50%' ry='50%' />\n"
307  " </g>\n"
308  " </style>\n"
309  " <style roleList='SBO-0000289' typeList='COMPARTMENTGLYPH'>\n"
310  " <!-- Compartment -->\n"
311  " <g stroke='CompartmentBorder' stroke-width='7' fill='CompartmentGradient'>\n"
312  " <rectangle x='0' y='0' width='100%' height='100%' rx='10%' ry='10%' />\n"
313  " </g>\n"
314  " </style>\n"
315  " </listOfStyles>\n"
316  "</renderInformation>\n"
317  " <renderInformation id=\"default\" name=\"Blue Gradient Species\" backgroundColor=\"#FFFFFFFF\">\n"
318  " <listOfColorDefinitions>\n"
319  " <colorDefinition id=\"speciesColor\" value=\"#D2D2E6\"/>\n"
320  " <colorDefinition id=\"compartmentColor\" value=\"#BCCABA\"/>\n"
321  " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
322  " <colorDefinition id=\"textColor\" value=\"#000000\"/>\n"
323  " <colorDefinition id=\"speciesReferenceColor\" value=\"#4E4E4E\"/>\n"
324  " <colorDefinition id=\"frameColor\" value=\"#1A1A1A\"/>\n"
325  " </listOfColorDefinitions>\n"
326  " <listOfGradientDefinitions>\n"
327  " <linearGradient id=\"speciesGlyphGradient\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n"
328  " <stop offset=\"0%\" stop-color=\"white\"/>\n"
329  " <stop offset=\"50%\" stop-color=\"speciesColor\"/>\n"
330  " <stop offset=\"100%\" stop-color=\"white\"/>\n"
331  " </linearGradient>\n"
332  " <linearGradient id=\"compartmentGlyphGradient\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n"
333  " <stop offset=\"0%\" stop-color=\"white\"/>\n"
334  " <stop offset=\"50%\" stop-color=\"compartmentColor\"/>\n"
335  " <stop offset=\"100%\" stop-color=\"white\"/>\n"
336  " </linearGradient>\n"
337  " </listOfGradientDefinitions>\n"
338  " <listOfLineEndings>\n"
339  " <lineEnding id=\"ActivationHead\" enableRotationalMapping=\"true\">\n"
340  " <boundingBox>\n"
341  " <position x=\"-2.0\" y=\"-2.0\"/>\n"
342  " <dimensions width=\"5.0\" height=\"4.0\"/>\n"
343  " </boundingBox>\n"
344  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" fill=\"none\">\n"
345  " <polygon>\n"
346  " <listOfElements>\n"
347  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
348  " <element xsi:type=\"RenderPoint\" x=\"5.0\" y=\"2.0\"/>\n"
349  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"4.0\"/>\n"
350  " <element xsi:type=\"RenderPoint\" x=\"2.0\" y=\"2.0\"/>\n"
351  " </listOfElements>\n"
352  " </polygon>\n"
353  " </g>\n"
354  " </lineEnding>\n"
355  " <lineEnding id=\"TransitionHead\" enableRotationalMapping=\"true\">\n"
356  " <boundingBox>\n"
357  " <position x=\"-2.0\" y=\"-2.0\"/>\n"
358  " <dimensions width=\"5.0\" height=\"4.0\"/>\n"
359  " </boundingBox>\n"
360  " <g stroke=\"speciesReferenceColor\" stroke-width=\"1.0\" fill=\"speciesReferenceColor\">\n"
361  " <polygon>\n"
362  " <listOfElements>\n"
363  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
364  " <element xsi:type=\"RenderPoint\" x=\"5.0\" y=\"2.0\"/>\n"
365  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"4.0\"/>\n"
366  " <element xsi:type=\"RenderPoint\" x=\"2.0\" y=\"2.0\"/>\n"
367  " </listOfElements>\n"
368  " </polygon>\n"
369  " </g>\n"
370  " </lineEnding>\n"
371  " <lineEnding id=\"InhibitionHead\" enableRotationalMapping=\"true\">\n"
372  " <boundingBox>\n"
373  " <position x=\"-0.5\" y=\"-3.0\"/>\n"
374  " <dimensions width=\"1.0\" height=\"6.0\"/>\n"
375  " </boundingBox>\n"
376  " <g stroke=\"speciesReferenceColor\" stroke-width=\"1.0\" fill=\"speciesReferenceColor\">\n"
377  " <polygon>\n"
378  " <listOfElements>\n"
379  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
380  " <element xsi:type=\"RenderPoint\" x=\"1.0\" y=\"0.0\"/>\n"
381  " <element xsi:type=\"RenderPoint\" x=\"1.0\" y=\"6.0\"/>\n"
382  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\"/>\n"
383  " </listOfElements>\n"
384  " </polygon>\n"
385  " </g>\n"
386  " </lineEnding>\n"
387  " <lineEnding id=\"ModulationHead\" enableRotationalMapping=\"true\">\n"
388  " <boundingBox>\n"
389  " <position x=\"0.0\" y=\"-2.0\"/>\n"
390  " <dimensions width=\"6.0\" height=\"4.0\"/>\n"
391  " </boundingBox>\n"
392  " <g stroke=\"speciesReferenceColor\" stroke-width=\"1.0\" fill=\"none\">\n"
393  " <polygon>\n"
394  " <listOfElements>\n"
395  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"2.0\"/>\n"
396  " <element xsi:type=\"RenderPoint\" x=\"3.0\" y=\"0.0\"/>\n"
397  " <element xsi:type=\"RenderPoint\" x=\"6.0\" y=\"2.0\"/>\n"
398  " <element xsi:type=\"RenderPoint\" x=\"3.0\" y=\"4.0\"/>\n"
399  " </listOfElements>\n"
400  " </polygon>\n"
401  " </g>\n"
402  " </lineEnding>\n"
403  " </listOfLineEndings>\n"
404  " <listOfStyles>\n"
405  " <style roleList='invisible'>\n"
406  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
407  " </style>\n"
408  " <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
409  " <g stroke=\"frameColor\" stroke-width=\"1.0\">\n"
410  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"10%\" ry=\"10%\" fill=\"compartmentGlyphGradient\"/>\n"
411  " </g>\n"
412  " </style>\n"
413  " <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH ANY\">\n"
414  " <g stroke=\"frameColor\" stroke-width=\"1.0\">\n"
415  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"10%\" ry=\"10%\" fill=\"speciesGlyphGradient\"/>\n"
416  " </g>\n"
417  " </style>\n"
418  " <style id=\"textGlyphStyle\" typeList=\"TEXTGLYPH\">\n"
419  " <g stroke=\"textColor\" stroke-width=\"1.0\" font-size=\"16\" text-anchor=\"middle\" vtext-anchor='middle' font-family=\"sans\"/>\n"
420  " </style>\n"
421  " <style id=\"productStyle\" roleList=\"product sideproduct\">\n"
422  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" endHead=\"TransitionHead\"/>\n"
423  " </style>\n"
424  " <style id=\"substrateStyle\" roleList=\"substrate sidesubstrate\" typeList=\"REACTIONGLYPH SPECIESREFERENCEGLYPH\">\n"
425  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" endHead=\"none\"/>\n"
426  " </style>\n"
427  " <style id=\"activatorStyle\" roleList=\"activator\">\n"
428  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" endHead=\"ActivationHead\"/>\n"
429  " </style>\n"
430  " <style id=\"inhibitorStyle\" roleList=\"inhibitor\">\n"
431  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" endHead=\"InhibitionHead\"/>\n"
432  " </style>\n"
433  " <style id=\"modifierStyle\" roleList=\"modifier\">\n"
434  " <g stroke=\"speciesReferenceColor\" stroke-width=\"2.0\" endHead=\"ModulationHead\"/>\n"
435  " </style>\n"
436  " </listOfStyles>\n"
437  " </renderInformation>\n"
438  " <renderInformation id=\"lightBlue\" name=\"blue Species; colored modifiers\" backgroundColor=\"#FFFFFFFF\">\n"
439  " <listOfColorDefinitions>\n"
440  " <colorDefinition id=\"lightBlue\" value=\"#ADD8E6\"/>\n"
441  " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
442  " <colorDefinition id=\"black\" value=\"#000000\"/>\n"
443  " <colorDefinition id=\"red\" value=\"#FF0000\"/>\n"
444  " <colorDefinition id=\"green\" value=\"#00FF00\"/>\n"
445  " <colorDefinition id=\"blue\" value=\"#0000FF\"/>\n"
446  " <colorDefinition id=\"lightYellow\" value=\"#FFFFD1\"/>\n"
447  " <colorDefinition id=\"darkGreen\" value=\"#002000\"/>\n"
448  " </listOfColorDefinitions>\n"
449  " <listOfGradientDefinitions>\n"
450  " <radialGradient id=\"speciesGlyphGradient\">\n"
451  " <stop offset=\"0%\" stop-color=\"white\"/>\n"
452  " <stop offset=\"100%\" stop-color=\"lightBlue\"/>\n"
453  " </radialGradient>\n"
454  " </listOfGradientDefinitions>\n"
455  " <listOfLineEndings>\n"
456  " <lineEnding id=\"simpleHead_black\">\n"
457  " <boundingBox>\n"
458  " <position x=\"-8\" y=\"-3\"/>\n"
459  " <dimensions width=\"10\" height=\"6\"/>\n"
460  " </boundingBox>\n"
461  " <g stroke=\"black\" stroke-width=\"1.0\" fill=\"black\">\n"
462  " <polygon>\n"
463  " <listOfElements>\n"
464  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
465  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
466  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
467  " </listOfElements>\n"
468  " </polygon>\n"
469  " </g>\n"
470  " </lineEnding>\n"
471  " <lineEnding id=\"simpleHead_red\">\n"
472  " <boundingBox>\n"
473  " <position x=\"-8\" y=\"-3\"/>\n"
474  " <dimensions width=\"10\" height=\"6\"/>\n"
475  " </boundingBox>\n"
476  " <g stroke=\"red\" stroke-width=\"1.0\" fill=\"red\">\n"
477  " <polygon>\n"
478  " <listOfElements>\n"
479  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
480  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
481  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
482  " </listOfElements>\n"
483  " </polygon>\n"
484  " </g>\n"
485  " </lineEnding>\n"
486  " <lineEnding id=\"simpleHead_green\">\n"
487  " <boundingBox>\n"
488  " <position x=\"-8\" y=\"-3\"/>\n"
489  " <dimensions width=\"10\" height=\"6\"/>\n"
490  " </boundingBox>\n"
491  " <g stroke=\"green\" stroke-width=\"1.0\" fill=\"green\">\n"
492  " <polygon>\n"
493  " <listOfElements>\n"
494  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
495  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
496  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
497  " </listOfElements>\n"
498  " </polygon>\n"
499  " </g>\n"
500  " </lineEnding>\n"
501  " <lineEnding id=\"simpleHead_blue\">\n"
502  " <boundingBox>\n"
503  " <position x=\"-8\" y=\"-3\"/>\n"
504  " <dimensions width=\"10\" height=\"6\"/>\n"
505  " </boundingBox>\n"
506  " <g stroke=\"blue\" stroke-width=\"1.0\" fill=\"blue\">\n"
507  " <polygon>\n"
508  " <listOfElements>\n"
509  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
510  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
511  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
512  " </listOfElements>\n"
513  " </polygon>\n"
514  " </g>\n"
515  " </lineEnding>\n"
516  " </listOfLineEndings>\n"
517  " <listOfStyles>\n"
518  " <style roleList='invisible'>\n"
519  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
520  " </style>\n"
521  " <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
522  " <g stroke=\"darkGreen\" stroke-width=\"1.0\">\n"
523  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"10%\" ry=\"10%\" fill=\"lightYellow\"/>\n"
524  " </g>\n"
525  " </style>\n"
526  " <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH ANY\">\n"
527  " <g stroke=\"black\" stroke-width=\"1.0\">\n"
528  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"5\" ry=\"50%\" fill=\"speciesGlyphGradient\"/>\n"
529  " </g>\n"
530  " </style>\n"
531  " <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH TEXTGLYPH SPECIESREFERENCEGLYPH\">\n"
532  " <g stroke=\"black\" stroke-width=\"1.0\" font-size=\"12\" text-anchor=\"middle\" vtext-anchor='middle' font-family=\"sans\"/>\n"
533  " </style>\n"
534  " <style id=\"reactantSpeciesReferenceGlyphStyle\" roleList=\"substrate sidesubstrate product sideproduct\">\n"
535  " <g stroke=\"black\" stroke-width=\"1.0\" endHead=\"simpleHead_black\"/>\n"
536  " </style>\n"
537  " <style id=\"activatorSpeciesReferenceGlyphStyle\" roleList=\"activator\">\n"
538  " <g stroke=\"green\" stroke-width=\"1.0\" endHead=\"simpleHead_green\"/>\n"
539  " </style>\n"
540  " <style id=\"modifierSpeciesReferenceGlyphStyle\" roleList=\"modifier\">\n"
541  " <g stroke=\"blue\" stroke-width=\"1.0\" endHead=\"simpleHead_blue\"/>\n"
542  " </style>\n"
543  " <style id=\"inhibitorSpeciesReferenceGlyphStyle\" roleList=\"inhibitor\">\n"
544  " <g stroke=\"red\" stroke-width=\"1.0\" endHead=\"simpleHead_red\"/>\n"
545  " </style>\n"
546  " </listOfStyles>\n"
547  " </renderInformation>\n"
548  " <renderInformation id=\"gray_green\" name=\"Gray-Green Style\" backgroundColor=\"#FFFFFFFF\">\n"
549  " <listOfColorDefinitions>\n"
550  " <colorDefinition id=\"SpeciesColorLight\" value=\"#D2D2E6FF\"/>\n"
551  " <colorDefinition id=\"CompartmentColorLight\" value=\"#E1F2DFFF\"/>\n"
552  " <colorDefinition id=\"SpeciesColorDark\" value=\"#A8A8B8FF\"/>\n"
553  " <colorDefinition id=\"CompartmentColorDark\" value=\"#B2BfB0FF\"/>\n"
554  " <colorDefinition id=\"ShadowColor\" value=\"#33333399\"/>\n"
555  " <colorDefinition id=\"SpeciesReferenceColor\" value=\"#4C4C4CFF\"/>\n"
556  " <colorDefinition id=\"FrameColor\" value=\"#191919FF\"/>\n"
557  " <colorDefinition id=\"TextColor\" value=\"#000000FF\"/>\n"
558  " </listOfColorDefinitions>\n"
559  " <listOfGradientDefinitions>\n"
560  " <linearGradient id=\"SpeciesGlyphGradient\" x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"100%\">\n"
561  " <stop offset=\"0%\" stop-color=\"SpeciesColorLight\"/>\n"
562  " <stop offset=\"50%\" stop-color=\"SpeciesColorDark\"/>\n"
563  " <stop offset=\"100%\" stop-color=\"SpeciesColorLight\"/>\n"
564  " </linearGradient>\n"
565  " <linearGradient id=\"CompartmentGlyphGradient\" x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"100%\">\n"
566  " <stop offset=\"0%\" stop-color=\"CompartmentColorLight\"/>\n"
567  " <stop offset=\"50%\" stop-color=\"CompartmentColorDark\"/>\n"
568  " <stop offset=\"100%\" stop-color=\"CompartmentColorLight\"/>\n"
569  " </linearGradient>\n"
570  " </listOfGradientDefinitions>\n"
571  " <listOfLineEndings>\n"
572  " <lineEnding id=\"ActivationHead\" enableRotationalMapping=\"true\">\n"
573  " <boundingBox>\n"
574  " <position x=\"-2.0\" y=\"-2.0\"/>\n"
575  " <dimensions width=\"5.0\" height=\"4.0\"/>\n"
576  " </boundingBox>\n"
577  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" fill=\"none\">\n"
578  " <polygon>\n"
579  " <listOfElements>\n"
580  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
581  " <element xsi:type=\"RenderPoint\" x=\"5.0\" y=\"2.0\"/>\n"
582  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"4.0\"/>\n"
583  " <element xsi:type=\"RenderPoint\" x=\"2.0\" y=\"2.0\"/>\n"
584  " </listOfElements>\n"
585  " </polygon>\n"
586  " </g>\n"
587  " </lineEnding>\n"
588  " <lineEnding id=\"TransitionHead\" enableRotationalMapping=\"true\">\n"
589  " <boundingBox>\n"
590  " <position x=\"-2.0\" y=\"-2.0\"/>\n"
591  " <dimensions width=\"5.0\" height=\"4.0\"/>\n"
592  " </boundingBox>\n"
593  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"1.0\" fill=\"SpeciesReferenceColor\">\n"
594  " <polygon>\n"
595  " <listOfElements>\n"
596  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
597  " <element xsi:type=\"RenderPoint\" x=\"5.0\" y=\"2.0\"/>\n"
598  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"4.0\"/>\n"
599  " <element xsi:type=\"RenderPoint\" x=\"2.0\" y=\"2.0\"/>\n"
600  " </listOfElements>\n"
601  " </polygon>\n"
602  " </g>\n"
603  " </lineEnding>\n"
604  " <lineEnding id=\"InhibitionHead\" enableRotationalMapping=\"true\">\n"
605  " <boundingBox>\n"
606  " <position x=\"-0.5\" y=\"-3.0\"/>\n"
607  " <dimensions width=\"1.0\" height=\"6.0\"/>\n"
608  " </boundingBox>\n"
609  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"1.0\" fill=\"SpeciesReferenceColor\">\n"
610  " <polygon>\n"
611  " <listOfElements>\n"
612  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\"/>\n"
613  " <element xsi:type=\"RenderPoint\" x=\"1.0\" y=\"0.0\"/>\n"
614  " <element xsi:type=\"RenderPoint\" x=\"1.0\" y=\"6.0\"/>\n"
615  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\"/>\n"
616  " </listOfElements>\n"
617  " </polygon>\n"
618  " </g>\n"
619  " </lineEnding>\n"
620  " <lineEnding id=\"ModulationHead\" enableRotationalMapping=\"true\">\n"
621  " <boundingBox>\n"
622  " <position x=\"0.0\" y=\"-2.0\"/>\n"
623  " <dimensions width=\"6.0\" height=\"4.0\"/>\n"
624  " </boundingBox>\n"
625  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"1.0\" fill=\"none\">\n"
626  " <polygon>\n"
627  " <listOfElements>\n"
628  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"2.0\"/>\n"
629  " <element xsi:type=\"RenderPoint\" x=\"3.0\" y=\"0.0\"/>\n"
630  " <element xsi:type=\"RenderPoint\" x=\"6.0\" y=\"2.0\"/>\n"
631  " <element xsi:type=\"RenderPoint\" x=\"3.0\" y=\"4.0\"/>\n"
632  " </listOfElements>\n"
633  " </polygon>\n"
634  " </g>\n"
635  " </lineEnding>\n"
636  " </listOfLineEndings>\n"
637  " <listOfStyles>\n"
638  " <style roleList='invisible'>\n"
639  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
640  " </style>\n"
641  " <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
642  " <g>\n"
643  " <rectangle stroke=\"FrameColor\" stroke-width=\"1.0\" fill=\"CompartmentGlyphGradient\" x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"10\" ry=\"10\"/>\n"
644  " </g>\n"
645  " </style>\n"
646  " <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH ANY\">\n"
647  " <g>\n"
648  " <rectangle stroke=\"FrameColor\" stroke-width=\"1.0\" fill=\"SpeciesGlyphGradient\" x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"10\" ry=\"10\"/>\n"
649  " </g>\n"
650  " </style>\n"
651  " <style id=\"textGlyphStyle\" typeList=\"TEXTGLYPH\">\n"
652  " <g stroke=\"TextColor\" font-family=\"sans-serif\" font-size=\"70%\" text-anchor=\"middle\" vtext-anchor=\"middle\"/>\n"
653  " </style>\n"
654  " <style id=\"productStyle\" roleList=\"product sideproduct\">\n"
655  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" endHead=\"TransitionHead\"/>\n"
656  " </style>\n"
657  " <style id=\"substrateStyle\" roleList=\"substrate sidesubstrate\" typeList=\"REACTIONGLYPH SPECIESREFERENCEGLYPH\">\n"
658  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" endHead=\"none\"/>\n"
659  " </style>\n"
660  " <style id=\"activatorStyle\" roleList=\"activator\">\n"
661  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" endHead=\"ActivationHead\"/>\n"
662  " </style>\n"
663  " <style id=\"inhibitorStyle\" roleList=\"inhibitor\">\n"
664  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" endHead=\"InhibitionHead\"/>\n"
665  " </style>\n"
666  " <style id=\"modifierStyle\" roleList=\"modifier\">\n"
667  " <g stroke=\"SpeciesReferenceColor\" stroke-width=\"2.0\" endHead=\"ModulationHead\"/>\n"
668  " </style>\n"
669  " </listOfStyles>\n"
670  " </renderInformation>\n"
671  " <renderInformation id=\"grayStyle\" name=\"Gray Scale\" backgroundColor=\"#FFFFFFFF\">\n"
672  " <listOfColorDefinitions>\n"
673  " <colorDefinition id=\"lightGray\" value=\"#CECECE\"/>\n"
674  " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
675  " <colorDefinition id=\"black\" value=\"#000000\"/>\n"
676  " <colorDefinition id=\"lightGray2\" value=\"#F0F0F0\"/>\n"
677  " <colorDefinition id=\"gray\" value=\"#0B0B0B\"/>\n"
678  " </listOfColorDefinitions>\n"
679  " <listOfGradientDefinitions>\n"
680  " <radialGradient id=\"speciesGlyphGradient\">\n"
681  " <stop offset=\"0%\" stop-color=\"white\"/>\n"
682  " <stop offset=\"100%\" stop-color=\"lightGray\"/>\n"
683  " </radialGradient>\n"
684  " </listOfGradientDefinitions>\n"
685  " <listOfLineEndings>\n"
686  " <lineEnding id=\"simpleHead_black\">\n"
687  " <boundingBox>\n"
688  " <position x=\"-8\" y=\"-3\"/>\n"
689  " <dimensions width=\"10\" height=\"6\"/>\n"
690  " </boundingBox>\n"
691  " <g stroke=\"black\" stroke-width=\"1.0\" fill=\"black\">\n"
692  " <polygon>\n"
693  " <listOfElements>\n"
694  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
695  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
696  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
697  " </listOfElements>\n"
698  " </polygon>\n"
699  " </g>\n"
700  " </lineEnding>\n"
701  " </listOfLineEndings>\n"
702  " <listOfStyles>\n"
703  " <style roleList='invisible'>\n"
704  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
705  " </style>\n"
706  " <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
707  " <g stroke=\"gray\" stroke-width=\"1.0\">\n"
708  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"5%\" fill=\"lightGray2\"/>\n"
709  " </g>\n"
710  " </style>\n"
711  " <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH ANY\">\n"
712  " <g stroke=\"black\" stroke-width=\"1.0\">\n"
713  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"5%\" fill=\"speciesGlyphGradient\"/>\n"
714  " </g>\n"
715  " </style>\n"
716  " <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH TEXTGLYPH\">\n"
717  " <g stroke=\"black\" stroke-width=\"1.0\" font-size=\"12\" text-anchor=\"middle\" vtext-anchor='middle' font-family=\"sans\"/>\n"
718  " </style>\n"
719  " <style id=\"speciesReferenceGlyphStyle\" typeList=\"SPECIESREFERENCEGLYPH\">\n"
720  " <g stroke=\"black\" stroke-width=\"1.0\" endHead=\"simpleHead_black\" />\n"
721  " </style>\n"
722  " </listOfStyles>\n"
723  " </renderInformation>\n"
724  " <renderInformation id=\"invertGrayStyle\" name=\"Dark Gray Scale\" backgroundColor=\"#404040FF\">\n"
725  " <listOfColorDefinitions>\n"
726  " <colorDefinition id=\"lightGray\" value=\"#CECECE\"/>\n"
727  " <colorDefinition id=\"white\" value=\"#FFFFFF\"/>\n"
728  " <colorDefinition id=\"black\" value=\"#000000\"/>\n"
729  " <colorDefinition id=\"lightGray2\" value=\"#F0F0F0\"/>\n"
730  " <colorDefinition id=\"gray\" value=\"#0B0B0B\"/>\n"
731  " </listOfColorDefinitions>\n"
732  " <listOfGradientDefinitions>\n"
733  " <linearGradient id=\"speciesGlyphGradient\">\n"
734  " <stop offset=\"0%\" stop-color=\"black\"/>\n"
735  " <stop offset=\"5%\" stop-color=\"lightGray\"/>\n"
736  " <stop offset=\"50%\" stop-color=\"lightGray2\"/>\n"
737  " <stop offset=\"95%\" stop-color=\"lightGray\"/>\n"
738  " <stop offset=\"100%\" stop-color=\"black\"/>\n"
739  " </linearGradient>\n"
740  " </listOfGradientDefinitions>\n"
741  " <listOfLineEndings>\n"
742  " <lineEnding id=\"simpleHead_white\">\n"
743  " <boundingBox>\n"
744  " <position x=\"-8\" y=\"-3\"/>\n"
745  " <dimensions width=\"10\" height=\"6\"/>\n"
746  " </boundingBox>\n"
747  " <g stroke=\"black\" stroke-width=\"1.0\" fill=\"white\">\n"
748  " <polygon>\n"
749  " <listOfElements>\n"
750  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"0.0\" />\n"
751  " <element xsi:type=\"RenderPoint\" x=\"10.0\" y=\"3.0\" />\n"
752  " <element xsi:type=\"RenderPoint\" x=\"0.0\" y=\"6.0\" />\n"
753  " </listOfElements>\n"
754  " </polygon>\n"
755  " </g>\n"
756  " </lineEnding>\n"
757  " </listOfLineEndings>\n"
758  " <listOfStyles>\n"
759  " <style roleList='invisible'>\n"
760  " <g stroke='#ffffff00' fill='#ffffff00'></g>\n"
761  " </style>\n"
762  " <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
763  " <g stroke=\"white\" stroke-width=\"1.0\">\n"
764  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"5%\" fill=\"black\"/>\n"
765  " </g>\n"
766  " </style>\n"
767  " <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH ANY\">\n"
768  " <g stroke=\"white\" stroke-width=\"1.0\">\n"
769  " <rectangle x=\"0%\" y=\"0%\" width=\"100%\" height=\"100%\" rx=\"5%\" fill=\"speciesGlyphGradient\"/>\n"
770  " </g>\n"
771  " </style>\n"
772  " <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH\">\n"
773  " <g stroke=\"white\" stroke-width=\"1.0\" />\n"
774  " </style>\n"
775  " <style id=\"textGlyphStyle\" typeList=\"TEXTGLYPH\">\n"
776  " <g stroke=\"black\" stroke-width=\"1.0\" font-size=\"12\" text-anchor=\"middle\" vtext-anchor='middle' font-family=\"sans\"/>\n"
777  " </style>\n"
778  " <style id=\"speciesReferenceGlyphStyle\" typeList=\"SPECIESREFERENCEGLYPH\">\n"
779  " <g stroke=\"white\" stroke-width=\"1.0\" endHead=\"simpleHead_white\"/>\n"
780  " </style>\n"
781  " </listOfStyles>\n"
782  " </renderInformation>\n"
783  "</listOfGlobalRenderInformation>\n"
784  ;
785 
786 /**
787  * This method returns a global render information list that contains the default styles
788  * which are built into the renderer.
789  */
791 {
792  if (!DEFAULT_STYLES)
793  {
794  DEFAULT_STYLES = loadDefaultStyles();
795  }
796 
797  return DEFAULT_STYLES;
798 }
799 
800 /**
801  * This method returns the number of global styles.
802  */
804 {
805  size_t result = 0;
806 
807  if (!DEFAULT_STYLES)
808  {
809  DEFAULT_STYLES = loadDefaultStyles();
810  }
811 
812  if (DEFAULT_STYLES != NULL)
813  {
814  result = DEFAULT_STYLES->size();
815  }
816 
817  return result;
818 }
819 
820 /**
821  * This method returns the default render information object with
822  * the requested index. If the index isinvalid, NULL is returned.
823  */
825 {
826  if (!DEFAULT_STYLES)
827  {
828  DEFAULT_STYLES = loadDefaultStyles();
829  }
830 
832 
833  if (DEFAULT_STYLES != NULL && index < DEFAULT_STYLES->size())
834  {
835  pResult = static_cast<CLGlobalRenderInformation*>((*DEFAULT_STYLES)[index]);
836  }
837 
838  return pResult;
839 }
840 
842 {
843  // try to initialize the default styles
844  if (DEFAULT_STYLES != NULL)
845  {
846  delete DEFAULT_STYLES;
847  }
848 
849  XMLInputStream stream(DEFAULT_STYLES_STRING, false);
850  ListOfGlobalRenderInformation* pRI = new ListOfGlobalRenderInformation();
851  pRI->parseXML(XMLNode(stream));
852  // convert the SBML objects to COPASI objects
853  size_t i, iMax = pRI->size();
855 
856  for (i = 0; i < iMax; ++i)
857  {
858  pResult->add(new CLGlobalRenderInformation(*static_cast<const GlobalRenderInformation*>(pRI->get((unsigned int) i))), true);
859  }
860 
861  delete pRI;
862 
863  return pResult;
864 }
const char * DEFAULT_STYLES_STRING
virtual size_t size() const
CCopasiVector< CLGlobalRenderInformation > * DEFAULT_STYLES
CLGlobalRenderInformation * getDefaultStyle(size_t index)
CCopasiVector< CLGlobalRenderInformation > * loadDefaultStyles()
size_t getNumDefaultStyles()
virtual bool add(const CType &src)
CCopasiVector< CLGlobalRenderInformation > * getDefaultStyles()
const CArrayAnnotation * pResult