-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCodeDocumentation.html
More file actions
499 lines (488 loc) · 25.6 KB
/
CodeDocumentation.html
File metadata and controls
499 lines (488 loc) · 25.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>IGLib module's Code Documentation (automatically generated)</title>
<meta name="author" content="Igor Grešovnik">
<meta name="description" content="Index of generated code documentation for
IGLib module">
<meta name="keywords" content="code documentation, automatic generation,
software documentation, IGLib, Investigative Generic Library, Igor Grešovnik,
.NET, Doxygen">
<!-- Tags below define icons, CSSs, and scripts. Leave them as absolute URLs. -->
<link rel="icon" href="https://ajgorhoe.github.io/icons/IGLibIcon_128x128.png" />
<link rel="stylesheet" href="https://ajgorhoe.github.io/scripts/IgsScriptSupport.css" />
</head>
<body>
<div class="Section1">
<p/>
<h1>IGLib Code Documentation</h1>
<h2>Generated by Doxygen</h2>
<h3>New IGLib Documentation</h3>
<p>Below are links to starting pages of various types and flavors of
generated documentation. Click the appropriate link to start
browsing the specific documentation. If the documentation has not
be generated yet of it needs to be updated according to changes,
run the appropriate scripts.</p>
<img src="https://ajgorhoe.github.io/icons/IGLibIcon_256x256.png" alt="[IGLib]" style="float: right; max-width: 30%; width: 48px; margin-left: 8pt;"></img>
<ul>
<li><a href="generated/DocIGLib/html/index.html"><b>IGLib basic</b>
documentation</a> (generated by
<i><a href="GenerateDocIGLib.ps1">GenerateDocIGLib.ps1</a></i>)
<ul>
<li><a href="generated/DocIGLib/html/index.html">index</a>,
<a href="generated/DocIGLib/html/annotated.html"> class list</a>,
<a href="generated/DocIGLib/html/hierarchy.html"> class hierarchy </a>
(<a href="generated/DocIGLib/html/inherits.html">graphical</a>),
<a href="generated/DocIGLib/html/namespaces.html"> namespace
list</a>, <a href="generated/DocIGLib/html/files.html">
file list</a>
</li>
</ul>
</li>
<li><a href="generated/DocIGLibAll/html/index.html">
<b>IGLib extended</b> documentation</a> (generated by
<i><a href="GenerateDocIGLibAll.ps1">GenerateDocIGLibAll.ps1</a></i>)
<ul>
<li><a href="generated/DocIGLibAll/html/index.html">index</a>, <a
href="generated/DocIGLibAll/html/annotated.html"> class list</a>,
<a href="generated/DocIGLibAll/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated/DocIGLibAll/html/inherits.html">graphical</a>),
<a href="generated/DocIGLibAll/html/namespaces.html"> namespace
list</a>, <a href="generated/DocIGLibAll/html/files.html">
file list</a>
</li>
</ul>
</li>
<li><a
href="generated_with_sources/DocIGLibWithSources/html/index.html"><b>IGLib
basic, with source files</b> included</a> (generated by <a
href="GenerateDocIGLibWithSources.ps1"><i>GenerateDocIGLibWithSources.ps1</i></a>)</li>
<ul>
<li><a href="generated_with_sources/DocIGLibWithSources/html/index.html">index</a>, <a
href="generated_with_sources/DocIGLibWithSources/html/annotated.html"> class list</a>,
<a href="generated_with_sources/DocIGLibWithSources/html/hierarchy.html">
class hierarchy
</a>
(<a href="generated_with_sources/DocIGLibWithSources/html/inherits.html">graphical</a>),
<a href="generated_with_sources/DocIGLibWithSources/html/namespaces.html"> namespace
list</a>, <a href="generated_with_sources/DocIGLibWithSources/html/files.html">
file list</a>
</li>
</ul>
<li>
<a href="generated_with_sources/DocIGLibAllWithSources/html/index.html"><b>IGLib
extended, with source files</b> included</a> (generated by
<a href="GenerateDocIGLibAllWithSources.ps1"><i>GenerateDocIGLibAllWithSources.ps1</i></a>)
<ul>
<li><a href="generated_with_sources/DocIGLibAllWithSources/html/index.html">index</a>, <a
href="generated_with_sources/DocIGLibAllWithSources/html/annotated.html"> class list</a>,
<a href="generated_with_sources/DocIGLibAllWithSources/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated_with_sources/DocIGLibAllWithSources/html/inherits.html">graphical</a>),
<a href="generated_with_sources/DocIGLibAllWithSources/html/namespaces.html"> namespace
list</a>, <a href="generated_with_sources/DocIGLibAllWithSources/html/files.html">
file list</a>
</li>
</ul>
</li>
</ul>
<h3>Legacy IGLib and Other Software</h3>
<ul>
<li><a href="generated/iglib/html/index.html"><span
style="font-weight: bold;">iglib: The IGLib Library</span></a>
(generated by <a
href="generate_iglib.ps1"><i>generate_iglib.ps1</i></a>)
<ul>
<li><a href="generated/iglib/html/index.html">index</a>, <a
href="generated/iglib/html/annotated.html"> class list</a>,
<a href="generated/iglib/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated/iglib/html/inherits.html">graphical</a>),
<a href="generated/iglib/html/namespaces.html"> namespace
list</a>, <a href="generated/iglib/html/files.html">
file list</a>
</li>
</ul>
</li>
<li><a href="generated_with_sources/iglib_with_sources/html/index.html">IGLib
<b>with sources</b></a> (generated by <a
href="generate_iglib_with_sources.ps1"><i>generate_iglib_with_sources.ps1</i></a>) 
<ul>
<li><a href="generated_with_sources/iglib_with_sources/html/index.html">index</a>, <a
href="generated_with_sources/iglib_with_sources/html/annotated.html"> class list</a>,
<a href="generated_with_sources/iglib_with_sources/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated_with_sources/iglib_with_sources/html/inherits.html">graphical</a>),
<a href="generated_with_sources/iglib_with_sources/html/namespaces.html"> namespace
list</a>, <a href="generated_with_sources/iglib_with_sources/html/files.html">
file list</a>
</li>
</ul>
</li>
<li><a href="generated/igliball/html/index.html"><b>All</b>
relevant IGLib related code</a> (generated by <a
href="generate_igliball.ps1"><i>generate_igliball.ps1</i></a>)<br>
<ul>
<li><a href="generated/igliball/html/index.html">index</a>, <a
href="generated/igliball/html/annotated.html"> class list</a>,
<a href="generated/igliball/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated/igliball/html/inherits.html">graphical</a>),
<a href="generated/igliball/html/namespaces.html"> namespace
list</a>, <a href="generated/igliball/html/files.html">
file list</a>
</li>
</ul>
</li>
<li>
<a
href="generated_with_sources/igliball_with_sources/html/index.html"><b>All</b>
relevant IGLib related code <b>with sources</b></a>
(generated by <a
href="generate_igliball_with_sources.ps1"><i>generate_igliball_with_sources.ps1</i></a>)<br>
<ul>
<li><a href="generated_with_sources/igliball_with_sources/html/index.html">index</a>, <a
href="generated_with_sources/igliball_with_sources/html/annotated.html"> class list</a>,
<a href="generated_with_sources/igliball_with_sources/html/hierarchy.html"> class
hierarchy </a>
(<a href="generated_with_sources/igliball_with_sources/html/inherits.html">graphical</a>),
<a href="generated_with_sources/igliball_with_sources/html/namespaces.html"> namespace
list</a>, <a href="generated_with_sources/igliball_with_sources/html/files.html">
file list</a>
</li>
</ul>
</li>
</ul>
<hr width="100%" size="2">
<hr width="100%" size="2">
<h3>Not Actively Maintained:</h3>
<ul>
<li><a href="generated/NeurApp/html/index.html"><b>NeurApp: Test
application for testing function of the ANN software</b></a>
(generated by <i><a
href="./generate_NeurApp.bat">generate_NeurApp.bat</a></i>)
<br>
</li>
<li><a href="generated/shell/html/index.html"><span
style="font-weight: bold;">shell: ANN - based
approximation models computational shell</span></a>
(generated by <i><a
href="generate_shell.bat">generate_shell.bat</a></i>)</li>
<li><br>
</li>
<li> <a href="generated/pythontools/html/index.html"><span
style="font-weight: bold;">PythonTools: Python tools for
IGLib.</span></a> </li>
<li><br>
</li>
<li><b><a href="generated/guest_marko_petek/html/index.html">guest_marko_petek:
Marko Petek's software for his graduate thesis about
nonlinear oscillators</a></b> <br>
</li>
<li><a
href="file:///C:/users1/workspace/doc/codedoc/generated/iglib/html/index.html"><span
style="font-weight: bold;"></span></a><br>
</li>
<li><a style="font-weight: bold;"
href="generated/develop/html/index.html">develop: Combined
development (IGLib + Simulation Framework)</a> </li>
<li><a href="generated/develop_nafems/html/index.html"><span
style="font-weight: bold;">develop_nafems: Experimental
Simulation Framework</span></a> </li>
<li><a href="generated/simulationtools/html/index.html"><span
style="font-weight: bold;">simulationtools: Tools for
numerical simulations</span></a> </li>
<li> <a href="generated/pythontools/html/index.html"><span
style="font-weight: bold;">PythonTools: Python tools for
IGLib.</span></a> </li>
<li> </li>
<li><i>Test documentation </i>(small doc. for testing and
troubleshooting, fast generation):</li>
<ul>
<li><a href="generated/test/html/index.html">Test doc.</a> <br>
</li>
<li><a
href="generated_with_sources/test_with_sources/html/index.html">Test
doc. with source references</a> <br>
</li>
</ul>
</ul>
<br>
<h2>Generated by SHFB<br>
</h2>
<ul>
<li><a href="shfb/generated/develop/index.html"><span
style="font-weight: bold;">Combined development (IGLib +
Simulation Framework)</span></a> <br>
<a href="generated/iglib/html/index.html"><span
style="font-weight: bold;"></span></a></li>
<li><a href="shfb/generated/iglib/index.html"><span
style="font-weight: bold;">IGLib</span></a> <br>
</li>
<li><a href="shfb/generated/develop_nafems/index.html"><span
style="font-weight: bold;">Experimental Simulation
Framework</span></a> </li>
</ul>
<p class="MsoBodyText" style="text-align: justify;"><span style=""
lang="EN-GB"><br>
</span></p>
<p class="MsoBodyText" style="text-align: justify;"><span style=""
lang="EN-GB"></span></p>
<h2>Intructions for generation of code documentation<br>
</h2>
<p> Documentation is not included in SVN repository because
it consists of automatically generated files and would load the
server unnecessarily. Every user gneerates its own local version
of documentation in this working copy of this directory, and the
generated files are ignored when SVN commit is performed.</p>
<p> <span style="font-weight: bold;">Warning:</span><br>
If you <span style="font-style: italic;">create a new
documentation configuration</span> which will result in a new
documentation directory, make sure to <span style="font-style:
italic; text-decoration: underline;">set the svn_ignore
property on the root directory of code documentation before
committing anything to SVN</span>! This will add the newly
created directories to the ignore list. Do not by any chance
commit directories containing the generated documentation (by
convention, automatically generated documentation is located in
directories named <span style="font-style: italic;">generated</span>,
in order to be distinguishable and can be added to the SVN
Ignore list)! Note that when a new directory is created inside a
directory that is included in the SVN-ignore list, its recursive
contents are not added automatically to the ignore list before
you update the list on the directory wheer it is defined.</p>
<p><span style="font-weight: bold;">Important:</span><br>
</p>
<p>If you generate a specific documentation for the first time,
you will need to create the directory named "<span
style="font-style: italic;">generated</span>"! Otherwise,
generation of documentation can fail without a meaningful
explanation. Take care that the directory is not committed to
SVN (if necessary, add the directory to SVN ignore list).<br>
</p>
<h3>Doxygen:<br>
</h3>
<p class="MsoBodyText" style="text-align: justify;"> In
order to update the documentation (i.e. to generate
documentation anew), run the following command from the
directory containing the appropriate configuration file:<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"> </p>
<p> doxygen <configuration_file><br>
</p>
<p>where <configuratioon_file> is the path to the
configuration file containing all the settings used for
generation of documentation. If you want to change some
settings, you can edit these files in any text editor. Remember
however that these changes wil be committed to SVN repository
and will affect all users. Currently, the abiity of having
personal setting files is not supported, but this could be added
relatively easily. <br>
There are also shell scripts for Windows provideed for
generation of documentation. To generate documentation for a
single project, run:<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"> </p>
<p> <span style="font-weight: bold;">generate.bat
<project_name></span><br>
</p>
<p>where <project_name> is name of the documentation to be
generated (i.e. name of the Doxygen configuration file without
extension, e.g. <span style="font-style: italic;">iglib</span>
for <span style="font-style: italic;">iglib.dox</span>).
Running just the <span style="font-style: italic;">generate.bat</span>
script generates documentation for all projects included in the
script. Scripts must be run from the directory where they are
located. Advantage of generating documentation by running
scripts is that scripts may also perform some other operations,
e.g. copy some external files to documentation directories. <br>
There are many settings in doxygen configuration files.
In order to make things easier, special marks are put in
comments preceeding individual settings. <br>
The "??" mark means that the effects of the given
settings have not been tested or are not clear enough, but the
effect might be relatively important. <br>
The "$$" mark is used to denote the settings that will
probably change when copying the configuration file in order to
configure a new project. Typically these settings are related to
locations of documented files, locations of output and similar.<br>
There is also a GUI-based tool for editing the settings.
Use of this tool is not recommended for changing file and
directory paths because using current paths as starting point
does not work well. The graphical configuration tool can be run
by the following command:<br>
<span style="font-size: 12pt; font-family: "Times New
Roman";" lang="EN-US">doxywizard
<configuration_file></span></p>
<p>If you want to create a new configuration (i.e. you want to
create another documentation), the best way is to copy an
existing configuration file and change settings that are
specific to what is documented (especially those containing file
paths). If for some reason you want to start with default
settings then you can generate a new configuration file by
typing the following command:<br>
doxygen -g <span style="font-size: 12pt;
font-family: "Times New Roman";" lang="EN-US"><configuration_file></span></p>
<h4>Prerequisites and other info on Doxygen<br>
</h4>
<p></p>
In order to use Doxygen, you have to install the following
software:<br>
<ul>
<li><a href="http://www.stack.nl/%7Edimitri/doxygen/">Doxygen</a>
(<a
href="http://www.stack.nl/%7Edimitri/doxygen/download.html">download
here</a>)<br>
</li>
<li><a href="http://www.graphviz.org/">Graphviz</a> (<a
href="http://www.graphviz.org/Download_windows.php">Windows
installer here</a>)<br>
</li>
</ul>
Graphviz is used by Doxygen for rendering various charts such as
inheritence graphs.<br>
Some documentation on Doxygen can be found at the following
links:<br>
<ul>
<li><a
href="http://www.stack.nl/%7Edimitri/doxygen/starting.html">Doxygen
- Getting started</a> </li>
<li><a href="http://www.stack.nl/%7Edimitri/doxygen/manual.html">Doxygen
Manual</a> <br>
</li>
</ul>
Doxygen is a free software released under GPL.<br>
<br>
<h3>Generating Documentation for Python Code:<br>
</h3>
In order to generate documentation for Python code wiht
Doxygen, you need to use one of the special filters. There are two
options:<br>
<ul>
<li><a href="http://code.foosel.org/doxypy">doxypy</a> <br>
</li>
<li><a href="https://github.com/Feneric/doxypypy">doxypypy</a> -
this is a newer fork but it does not work for all cases. The
previous one is currently more stable. <br>
</li>
</ul>
Both filters are python scripts/modules which must be
installed on the system where documentation is generated (of
course, Python itself must be installed on that system). When
Doxygen generates documentation, it sends each file to filter
scripts that convert the format of python doc comments into a form
understandable to Doxygen.<br>
<br>
In order for the filters to work, the following lines must
be inserted in Soxygen settings file:<br>
<pre class="code">FILTER_SOURCE_FILES = YES
INPUT_FILTER = "python c:\Python27\Scripts\doxypy.py"</pre>
<br>
The last filter's home has nice instructions on this. A bit
more detailed description on how to generate documentation for
Python code by Doxygen can be found here:<br>
<ul>
<li><a href="http://engtech.wordpress.com/2007/03/20/automatic_documentation_python_doxygen/">
Automatic Documentation of Python Code using Doxygen</a> <br>
</li>
</ul>
<br>
<h3>SHFB (Sandcastle Help File Builder):<br>
</h3>
<p class="MsoBodyText" style="text-align: justify;"> In
order to <span style="font-weight: bold;">generate
documentation</span>, open the SHFB project file in the
graphical application (extension .shfbproj), click on the <span
style="font-style: italic;">Documentation</span> menu, and
select "Build Project" (there is also a keyboard shortcut,
Ctrl-Shift-B).<br>
<span style="font-weight: bold;">Warning:</span><span
style="font-style: italic;"> Before you start the generation
process, all documenteed projects must be compiled with the "<span
style="font-weight: bold;">XML Documentation</span>" option
turned on</span> (in Visual Studio's Solution Explorer,
right-click the project name, select "Properties" from the menu,
then in the "Build" tab check the checkbox next to "XML
Documentation File:").<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"> In
order to <span style="font-weight: bold;">change configuration
or to create a new one</span>, use the <span
style="font-style: italic;">Project Explorer</span> and <span
style="font-style: italic;">Project Properties</span> windows.
In order to make a new documentation, copy an existent project
and rename it (you can also create a new one, but take care that
the <span style="font-weight: bold;">OutputPath</span> property
is appropriately set and points to a directory whose contents
can be deleted without harm).</p>
<p class="MsoBodyText" style="text-align: justify;"> In the
<span style="font-style: italic;">Project Explorer</span>
window, under "<span style="font-style: italic;">Documentation
Sources</span>" section, you can define which source files,
projects and solutions are included in documentation. You can
simply drag files there or right-click the the "<span
style="font-style: italic;">Documentation sources</span>" and
select "<span style="font-style: italic;">Add Documentation
Source...</span>". <br>
</p>
<p class="MsoBodyText" style="text-align: justify;"> Under
the "<span style="font-style: italic;">References</span>"
section of the <span style="font-style: italic;">Project
Explorer</span> window, you can define projects or files that
the document code depends on. This information is used in order
to show the complete inheritance hierarchy for classes that
inherit from classes defined in these projects.<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"> In the
<span style="font-style: italic;">Project Properties</span>
window, you can set various settings defining how documentation
is generated. The most important is the <span
style="font-weight: bold;">OutputPath</span> property that
defines the directory in which documentation is generated.<br>
<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"><span
style="font-weight: bold;">Warning:</span> Before generating
documentation, make sure that <span style="font-weight: bold;">OutputPath</span>
property does not point to any directory used for something else
but the generated documentation. When documentation is
generated, the contents of this directories are deleted!<br>
</p>
<h4>Prerequisites and other info on SHFB<br>
</h4>
<p> </p>
<p class="MsoBodyText" style="text-align: justify;"> In
order to use SHFB, you will need:</p>
<ul>
<li><a href="http://sandcastle.codeplex.com/">Sandcastle</a> <br>
</li>
<li><a href="http://shfb.codeplex.com/">SHFB</a> (a graphical
front-end for Sandcastle)</li>
</ul>
Some documentation on SHFB can be found here:<br>
<ul>
<li>
<a href="http://www.ewoodruff.us/shfbdocs/Index.aspx?topic=html/8e3f8757-0ef3-4772-bb2f-5d7ae57e50da.htm">
SHFBOverview
</a>
<br>
</li>
</ul>
<p class="MsoBodyText" style="text-align: justify;"> SHFB is
a free microsoft tool for generation of documentation from XML
comments. It is a graphical front-end for SandCastle, which is a
command-line tool for generating documentation.<br>
</p>
<p class="MsoBodyText" style="text-align: justify;"><span style=""
lang="EN-GB"><br>
</span></p>
<p class="MsoBodyText" style="text-align: justify;"><span style=""
lang="EN-GB"><br>
</span></p>
<br>
</div>
</body>
</html>