]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Move the class hierarchy files from the deal.II tree to the general doc tree.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 12 Feb 1999 10:29:48 +0000 (10:29 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 12 Feb 1999 10:29:48 +0000 (10:29 +0000)
git-svn-id: https://svn.dealii.org/trunk@787 0785d39b-7218-0410-832d-ea1e28bc413d

13 files changed:
deal.II/doc/reports/class-hierarchies/1d-dof.eps [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/1d-dof.fig [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/1d-dof.gif [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/1d-tria.eps [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/1d-tria.fig [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/1d-tria.gif [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-dof.eps [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-dof.fig [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-dof.gif [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-tria.eps [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-tria.fig [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/2d-tria.gif [new file with mode: 0644]
deal.II/doc/reports/class-hierarchies/index.html [new file with mode: 0644]

diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.eps b/deal.II/doc/reports/class-hierarchies/1d-dof.eps
new file mode 100644 (file)
index 0000000..9889223
--- /dev/null
@@ -0,0 +1,156 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: 1d-dof.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2
+%%CreationDate: Thu Nov  5 15:50:20 1998
+%%For: wolf@chaos (Wolfgang Bangerth)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 514 311
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%Magnification: 1.00
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-8.0 330.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 5527 m 0 0 l 8732 0 l 8732 5527 l cp clip
+ 0.06000 0.06000 sc
+% Polyline
+7.500 slw
+n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
+  3600 1875 5895 1875 105 arcto 4 {pop} repeat
+  6000 1875 6000 1605 105 arcto 4 {pop} repeat
+  6000 1500 3705 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 1155 2700 m 1050 2700 1050 2970 105 arcto 4 {pop} repeat
+  1050 3075 3645 3075 105 arcto 4 {pop} repeat
+  3750 3075 3750 2805 105 arcto 4 {pop} repeat
+  3750 2700 1155 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 855 3900 m 750 3900 750 4170 105 arcto 4 {pop} repeat
+  750 4275 4020 4275 105 arcto 4 {pop} repeat
+  4125 4275 4125 4005 105 arcto 4 {pop} repeat
+  4125 3900 855 3900 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 1155 5100 m 1050 5100 1050 5370 105 arcto 4 {pop} repeat
+  1050 5475 3645 5475 105 arcto 4 {pop} repeat
+  3750 5475 3750 5205 105 arcto 4 {pop} repeat
+  3750 5100 1155 5100 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 2400 2700 l gs col0 s gr 
+% Polyline
+n 2400 3075 m 2400 3900 l gs col0 s gr 
+% Polyline
+n 2400 4275 m 2400 5100 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 255 1500 m 150 1500 150 1770 105 arcto 4 {pop} repeat
+  150 1875 2145 1875 105 arcto 4 {pop} repeat
+  2250 1875 2250 1605 105 arcto 4 {pop} repeat
+  2250 1500 255 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 1200 1875 m 2400 2700 l gs col0 s gr 
+/Times-Roman ff 375.00 scf sf
+4800 600 m
+gs 1 -1 sc (Class Hierarchy for the 1-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+4800 1800 m
+gs 1 -1 sc (DoFAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+2400 3000 m
+gs 1 -1 sc (DoFLineAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+2400 4200 m
+gs 1 -1 sc (DoFSubstructAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+2400 5400 m
+gs 1 -1 sc (DoFCellAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+1200 1800 m
+gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+$F2psEnd
+rs
diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.fig b/deal.II/doc/reports/class-hierarchies/1d-dof.fig
new file mode 100644 (file)
index 0000000..935d4c9
--- /dev/null
@@ -0,0 +1,33 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter 
+100.00
+Single
+0
+1200 2
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        3750 3075 3750 2700 1050 2700 1050 3075 3750 3075
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        4125 4275 4125 3900 750 3900 750 4275 4125 4275
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        3750 5475 3750 5100 1050 5100 1050 5475 3750 5475
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 2400 2700
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        2400 3075 2400 3900
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        2400 4275 2400 5100
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        2250 1875 2250 1500 150 1500 150 1875 2250 1875
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        1200 1875 2400 2700
+4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 2\001
+4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 2520 2400 3000 DoFLineAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 3105 2400 4200 DoFSubstructAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 2460 2400 5400 DoFCellAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 1950 1200 1800 CellAccessor<1>\001
diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.gif b/deal.II/doc/reports/class-hierarchies/1d-dof.gif
new file mode 100644 (file)
index 0000000..4d9b814
Binary files /dev/null and b/deal.II/doc/reports/class-hierarchies/1d-dof.gif differ
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.eps b/deal.II/doc/reports/class-hierarchies/1d-tria.eps
new file mode 100644 (file)
index 0000000..2483208
--- /dev/null
@@ -0,0 +1,144 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: 1d-tria.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2
+%%CreationDate: Thu Nov  5 16:56:03 1998
+%%For: wolf@chaos (Wolfgang Bangerth)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 514 311
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%Magnification: 1.00
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-8.0 330.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 5527 m 0 0 l 8732 0 l 8732 5527 l cp clip
+ 0.06000 0.06000 sc
+% Polyline
+7.500 slw
+n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
+  3600 1875 5895 1875 105 arcto 4 {pop} repeat
+  6000 1875 6000 1605 105 arcto 4 {pop} repeat
+  6000 1500 3705 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 780 2700 m 675 2700 675 2970 105 arcto 4 {pop} repeat
+  675 3075 2745 3075 105 arcto 4 {pop} repeat
+  2850 3075 2850 2805 105 arcto 4 {pop} repeat
+  2850 2700 780 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 855 5100 m 750 5100 750 5370 105 arcto 4 {pop} repeat
+  750 5475 2745 5475 105 arcto 4 {pop} repeat
+  2850 5475 2850 5205 105 arcto 4 {pop} repeat
+  2850 5100 855 5100 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 1800 2700 l gs col0 s gr 
+% Polyline
+n 1800 3075 m 1800 3900 l gs col0 s gr 
+% Polyline
+n 1800 4275 m 1800 5100 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 255 3900 m 150 3900 150 4170 105 arcto 4 {pop} repeat
+  150 4275 3345 4275 105 arcto 4 {pop} repeat
+  3450 4275 3450 4005 105 arcto 4 {pop} repeat
+  3450 3900 255 3900 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+/Times-Roman ff 300.00 scf sf
+4800 1800 m
+gs 1 -1 sc (TriaAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+1800 3000 m
+gs 1 -1 sc (LineAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+1800 5400 m
+gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 375.00 scf sf
+4800 600 m
+gs 1 -1 sc (Class Hierarchy for the 1-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+1800 4200 m
+gs 1 -1 sc (TriaSubstructAccessor<1>) dup sw pop 2 div neg 0 rm  col0 sh gr
+$F2psEnd
+rs
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.fig b/deal.II/doc/reports/class-hierarchies/1d-tria.fig
new file mode 100644 (file)
index 0000000..8db63ed
--- /dev/null
@@ -0,0 +1,28 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter 
+100.00
+Single
+0
+1200 2
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        2850 3075 2850 2700 675 2700 675 3075 2850 3075
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        2850 5475 2850 5100 750 5100 750 5475 2850 5475
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 1800 2700
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        1800 3075 1800 3900
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        1800 4275 1800 5100
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        3450 4275 3450 3900 150 3900 150 4275 3450 4275
+4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 2010 1800 3000 LineAccessor<1>\001
+4 1 0 0 0 0 20 0.0000 4 195 1950 1800 5400 CellAccessor<1>\001
+4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 1\001
+4 1 0 0 0 0 20 0.0000 4 195 3090 1800 4200 TriaSubstructAccessor<1>\001
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.gif b/deal.II/doc/reports/class-hierarchies/1d-tria.gif
new file mode 100644 (file)
index 0000000..4c16c9c
Binary files /dev/null and b/deal.II/doc/reports/class-hierarchies/1d-tria.gif differ
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.eps b/deal.II/doc/reports/class-hierarchies/2d-dof.eps
new file mode 100644 (file)
index 0000000..d933662
--- /dev/null
@@ -0,0 +1,182 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: 2d-dof.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2
+%%CreationDate: Thu Nov  5 15:50:10 1998
+%%For: wolf@chaos (Wolfgang Bangerth)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 560 311
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%Magnification: 1.00
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-8.0 330.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 5527 m 0 0 l 9502 0 l 9502 5527 l cp clip
+ 0.06000 0.06000 sc
+% Polyline
+7.500 slw
+n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
+  3600 1875 5895 1875 105 arcto 4 {pop} repeat
+  6000 1875 6000 1605 105 arcto 4 {pop} repeat
+  6000 1500 3705 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 1155 2700 m 1050 2700 1050 2970 105 arcto 4 {pop} repeat
+  1050 3075 3645 3075 105 arcto 4 {pop} repeat
+  3750 3075 3750 2805 105 arcto 4 {pop} repeat
+  3750 2700 1155 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 2400 2700 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 255 1500 m 150 1500 150 1770 105 arcto 4 {pop} repeat
+  150 1875 2145 1875 105 arcto 4 {pop} repeat
+  2250 1875 2250 1605 105 arcto 4 {pop} repeat
+  2250 1500 255 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 1200 1875 m 2400 2700 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 5655 3900 m 5550 3900 5550 4170 105 arcto 4 {pop} repeat
+  5550 4275 8820 4275 105 arcto 4 {pop} repeat
+  8925 4275 8925 4005 105 arcto 4 {pop} repeat
+  8925 3900 5655 3900 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 7200 3075 m 7200 3900 l gs col0 s gr 
+% Polyline
+n 7200 4275 m 7200 5100 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 5955 5100 m 5850 5100 5850 5370 105 arcto 4 {pop} repeat
+  5850 5475 8445 5475 105 arcto 4 {pop} repeat
+  8550 5475 8550 5205 105 arcto 4 {pop} repeat
+  8550 5100 5955 5100 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 5955 2700 m 5850 2700 5850 2970 105 arcto 4 {pop} repeat
+  5850 3075 8445 3075 105 arcto 4 {pop} repeat
+  8550 3075 8550 2805 105 arcto 4 {pop} repeat
+  8550 2700 5955 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 7455 1500 m 7350 1500 7350 1770 105 arcto 4 {pop} repeat
+  7350 1875 9345 1875 105 arcto 4 {pop} repeat
+  9450 1875 9450 1605 105 arcto 4 {pop} repeat
+  9450 1500 7455 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 7200 2700 l gs col0 s gr 
+% Polyline
+n 8400 1875 m 7200 2700 l gs col0 s gr 
+/Times-Roman ff 300.00 scf sf
+1200 1800 m
+gs 1 -1 sc (LineAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 375.00 scf sf
+4800 600 m
+gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+4800 1800 m
+gs 1 -1 sc (DoFAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+2400 3000 m
+gs 1 -1 sc (DoFLineAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7200 4200 m
+gs 1 -1 sc (DoFSubstructAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7200 5400 m
+gs 1 -1 sc (DoFCellAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7200 3000 m
+gs 1 -1 sc (DoFQuadAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+8400 1800 m
+gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+$F2psEnd
+rs
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.fig b/deal.II/doc/reports/class-hierarchies/2d-dof.fig
new file mode 100644 (file)
index 0000000..f60979a
--- /dev/null
@@ -0,0 +1,43 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter 
+100.00
+Single
+0
+1200 2
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        3750 3075 3750 2700 1050 2700 1050 3075 3750 3075
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 2400 2700
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        2250 1875 2250 1500 150 1500 150 1875 2250 1875
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        1200 1875 2400 2700
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        8925 4275 8925 3900 5550 3900 5550 4275 8925 4275
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        7200 3075 7200 3900
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        7200 4275 7200 5100
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        8550 5475 8550 5100 5850 5100 5850 5475 8550 5475
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        8550 3075 8550 2700 5850 2700 5850 3075 8550 3075
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        9450 1875 9450 1500 7350 1500 7350 1875 9450 1875
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 7200 2700
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        8400 1875 7200 2700
+4 1 0 0 0 0 20 0.0000 4 195 2010 1200 1800 LineAccessor<2>\001
+4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 2\001
+4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 2520 2400 3000 DoFLineAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 3105 7200 4200 DoFSubstructAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 2460 7200 5400 DoFCellAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 255 2625 7200 3000 DoFQuadAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 1950 8400 1800 CellAccessor<2>\001
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.gif b/deal.II/doc/reports/class-hierarchies/2d-dof.gif
new file mode 100644 (file)
index 0000000..bfce7f5
Binary files /dev/null and b/deal.II/doc/reports/class-hierarchies/2d-dof.gif differ
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.eps b/deal.II/doc/reports/class-hierarchies/2d-tria.eps
new file mode 100644 (file)
index 0000000..8c1d3a2
--- /dev/null
@@ -0,0 +1,157 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: 2d-tria.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2
+%%CreationDate: Thu Nov  5 16:57:00 1998
+%%For: wolf@chaos (Wolfgang Bangerth)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 529 311
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%Magnification: 1.00
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-39.0 330.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 5527 m 0 0 l 9502 0 l 9502 5527 l cp clip
+ 0.06000 0.06000 sc
+% Polyline
+7.500 slw
+n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
+  3600 1875 5895 1875 105 arcto 4 {pop} repeat
+  6000 1875 6000 1605 105 arcto 4 {pop} repeat
+  6000 1500 3705 1500 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 780 2700 m 675 2700 675 2970 105 arcto 4 {pop} repeat
+  675 3075 2745 3075 105 arcto 4 {pop} repeat
+  2850 3075 2850 2805 105 arcto 4 {pop} repeat
+  2850 2700 780 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 1800 2700 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 6780 2700 m 6675 2700 6675 2970 105 arcto 4 {pop} repeat
+  6675 3075 8820 3075 105 arcto 4 {pop} repeat
+  8925 3075 8925 2805 105 arcto 4 {pop} repeat
+  8925 2700 6780 2700 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+n 6855 5100 m 6750 5100 6750 5370 105 arcto 4 {pop} repeat
+  6750 5475 8745 5475 105 arcto 4 {pop} repeat
+  8850 5475 8850 5205 105 arcto 4 {pop} repeat
+  8850 5100 6855 5100 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+% Polyline
+15.000 slw
+n 4800 1875 m 7800 2700 l gs col0 s gr 
+% Polyline
+n 7800 3075 m 7800 3900 l gs col0 s gr 
+% Polyline
+n 7800 4275 m 7800 5100 l gs col0 s gr 
+% Polyline
+7.500 slw
+n 6255 3900 m 6150 3900 6150 4170 105 arcto 4 {pop} repeat
+  6150 4275 9345 4275 105 arcto 4 {pop} repeat
+  9450 4275 9450 4005 105 arcto 4 {pop} repeat
+  9450 3900 6255 3900 105 arcto 4 {pop} repeat
+ cp gs col0 s gr 
+/Times-Roman ff 300.00 scf sf
+4800 1800 m
+gs 1 -1 sc (TriaAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+1800 3000 m
+gs 1 -1 sc (LineAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7800 3000 m
+gs 1 -1 sc (QuadAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7800 5400 m
+gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 375.00 scf sf
+4800 600 m
+gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm  col0 sh gr
+/Times-Roman ff 300.00 scf sf
+7800 4200 m
+gs 1 -1 sc (TriaSubstructAccessor<2>) dup sw pop 2 div neg 0 rm  col0 sh gr
+$F2psEnd
+rs
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.fig b/deal.II/doc/reports/class-hierarchies/2d-tria.fig
new file mode 100644 (file)
index 0000000..bcb7016
--- /dev/null
@@ -0,0 +1,33 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter 
+100.00
+Single
+0
+1200 2
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        2850 3075 2850 2700 675 2700 675 3075 2850 3075
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 1800 2700
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        8925 3075 8925 2700 6675 2700 6675 3075 8925 3075
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        8850 5475 8850 5100 6750 5100 6750 5475 8850 5475
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        4800 1875 7800 2700
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        7800 3075 7800 3900
+2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
+        7800 4275 7800 5100
+2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
+        9450 4275 9450 3900 6150 3900 6150 4275 9450 4275
+4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 2010 1800 3000 LineAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 255 2115 7800 3000 QuadAccessor<2>\001
+4 1 0 0 0 0 20 0.0000 4 195 1950 7800 5400 CellAccessor<2>\001
+4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 1\001
+4 1 0 0 0 0 20 0.0000 4 195 3090 7800 4200 TriaSubstructAccessor<2>\001
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.gif b/deal.II/doc/reports/class-hierarchies/2d-tria.gif
new file mode 100644 (file)
index 0000000..a018ee4
Binary files /dev/null and b/deal.II/doc/reports/class-hierarchies/2d-tria.gif differ
diff --git a/deal.II/doc/reports/class-hierarchies/index.html b/deal.II/doc/reports/class-hierarchies/index.html
new file mode 100644 (file)
index 0000000..1970360
--- /dev/null
@@ -0,0 +1,301 @@
+<HTML>
+<HEAD>
+<TITLE>DEAL</TITLE>
+</HEAD>
+<BODY LINK="#0000ff" VLINK="#800080">
+
+<H1 ALIGN="CENTER">
+Description of the C++ class hierarchy for the
+accessor classes
+</H1>
+
+
+The class hierarchy of the accessor classes used to retrieve and store
+data in the triangulation and degree of freedom handler objects is one
+of  the more complicated parts of  the library. It  makes heavy use of
+class templates with  integers  as template parameters  as  well as of
+explicit specialization  of classes and  member functions.  Therefore,
+it is not so  easy to  see the  connections and  inheritance relations
+within this part of the class tree; this  document tries to shed a bit
+of light onto this.
+
+
+
+<H3>
+What iterators and accessors are
+</H3>
+
+When  using  adative finite elements,   the data structures  often are
+extremely complex, requiring   multiply indirected access  and complex
+relationships between  the different places  where data is stored. The
+traditional way  to  handle this is  to  put  all  data which  belongs
+together somehow into  a structure or  object; however, sometimes this
+can  not  be done  efficiently,    leading  to either higher    memory
+consumption (when you have to store many small data pieces and because
+you have to store a lot of pointers to other objects) or higher coding
+requirements (when you want to follow all those pointers to the object
+you desire).
+
+<P>
+
+Therefore, we took  over a concept  which was already  used in the C++
+standard template library, namely iterators and accessors. An accessor
+is an object that looks like if it  had all the information stored but
+really only delegates the access to the right  places; in fact, within
+this library, accessor store almost  no information but know where  to
+get   everything   from the complex  and   nested  data structures the
+triangulation object offers. They have a simple interface which allows
+to     extract any desired   information   from  the triangulation and
+therefore makes access  much easier and safer in  three ways: first it
+performs range and parameter checking  when in debugging mode; second,
+it encapsulates the access to the real data  from the user, hiding the
+true data structures and thus allowing  them without changing the user
+programs as well as those parts of the  library which only act through
+accessors; and third by reducing the coding  errors because of reduced
+complexity, since the chains of indirect access are replaces by simple
+commands.
+
+<P>
+
+Iterators are a  related concept: while  accessors act as if they were
+structures with data contained in them, iterators act  as if they were
+pointers pointing to   accessors. You can  dereference  them using the
+-&gt; and * operators  as with any  other pointer, but they have  more
+functionality. Essentially, they  have overloaded ++ and -- operators,
+which  allow the next  or previous object  pointed to to be just about
+anywhere  in memory. A good introductory  example are the iterators of
+the STL  <CODE>list&lt;T&gt;</CODE> class, which  act on a linked list
+as if it  were a contiguous  array. The  iterators in  this library go
+even a step further: they do not point to different objects but rather
+tell  the   associated  accessor   object which   data   to  look   at
+next.
+
+<P>
+
+Additionally, there  are different  versions  of the   iterators which
+behave  differently   when  being  incremented or   decremented: while
+<I>raw</I> iterators let the  associated accessor point  to any of the
+objects it   is  made for,  <I>normal</I>  iterators   always point to
+objects which are in use.  Usually, you will not want  to see cells or
+lines which are there but are unused by the triangulation (these cells
+are  somewhat like  holes in  the   arrays of the triangulation;  such
+things happen  when unrefining a cell,  the freed memory  is then kept
+for a while  because of better efficiency), so  you will  almost never
+want to use raw iterators;  they are mostly there  for internal use in
+the    library. Normal iterators are   almost  like raw iterators, but
+whenever you call the ++  or -- operator,  the  look at what they  are
+pointing at  and skip all unused  elements by increasing or decreasing
+the pointer as often as necessary to reach the next used object.
+
+<P>
+
+Finally,    there are <I>active</I>  iterators,    which are the  most
+important ones. They  are  like normal   iterators but  only point  to
+active cells or lines.  By active we  mean that they have no children;
+in  the context in which this  library is used,  this is equivalent to
+the  fact   that   we  do  computations   on these   cells,   lines or
+whatever. Active iterators  are normal iterators  which  skip over all
+non-active cells, lines, etc when being incremented or decremented.
+
+
+
+<H3>
+The triangulation accessor hierarchy
+</H3>
+
+The triangulation accessors are used to retrieve and store data in the
+triangulation.  There  exist accessors  for  lines  in one and  higher
+dimensions, accessors for  quads in two  and higher dimensions, and so
+on. Their inheritance tree is shown in the following two pictures:
+
+
+<CENTER>
+<IMG SRC="1d-tria.gif" ALIGN="CENTER"> 
+</CENTER>
+<P>
+
+<CENTER>
+<IMG SRC="2d-tria.gif" ALIGN="CENTER"> 
+</CENTER>
+<P>
+
+Some of the data is only  useful if an object is  a cell. For example,
+neighborship is only accessible for cells,  while faces (e.g. lines in
+2D) can't access their neighbors (neither the  adjacent cells, nor the
+other   faces it touches).    Therefore, the CellAccessor classes  are
+derived from whatever  object a cell  is in the respective  dimension,
+i.e. from lines  in 1D, from quads  in 2D,  and  so on.  For technical
+reasons, this  inheritance  it mediated by  the  TriaSubstructAccessor
+classes; they  have   no functionality but  only  serve   as interface
+classes; they have no meaning to the user.
+
+
+<H4>
+Typedefs of the Triangulation class to iterators and accessors
+</H4>
+
+The <CODE>Triangulation<1></CODE> class declares the following data
+types which involve accessors:
+<PRE>
+    typedef TriaRawIterator   <1,CellAccessor<1> >    raw_line_iterator;
+    typedef TriaIterator      <1,CellAccessor<1> >        line_iterator;
+    typedef TriaActiveIterator<1,CellAccessor<1> > active_line_iterator;
+
+    typedef    raw_line_iterator    raw_cell_iterator;
+    typedef        line_iterator        cell_iterator;
+    typedef active_line_iterator active_cell_iterator; 
+</PRE>
+Since lines are cells in one space dimension, all line iterators are
+cell iterators as well.
+
+<P>
+
+In two space dimensions, the following types are declared by the
+<CODE>Triangulation<2></CODE> class:
+<PRE>
+    typedef TriaRawIterator   <2,LineAccessor<2> >    raw_line_iterator;
+    typedef TriaIterator      <2,LineAccessor<2> >        line_iterator;
+    typedef TriaActiveIterator<2,LineAccessor<2> > active_line_iterator;
+    
+    typedef TriaRawIterator   <2,CellAccessor<2> >    raw_quad_iterator;
+    typedef TriaIterator      <2,CellAccessor<2> >        quad_iterator;
+    typedef TriaActiveIterator<2,CellAccessor<2> > active_quad_iterator;
+
+    typedef    raw_quad_iterator    raw_cell_iterator;
+    typedef        quad_iterator        cell_iterator;
+    typedef active_quad_iterator active_cell_iterator;
+
+    typedef    raw_line_iterator    raw_face_iterator;
+    typedef        line_iterator        face_iterator;
+    typedef active_line_iterator active_face_iterator;    
+</PRE>
+
+Since in this space dimension, quads are cells and lines are the faces
+of  cells, the  appropriate face  and  cell iterators  are declared in
+terms of the underlying accessor types.
+
+
+
+
+<H3>
+The degree of freedom accessor hierarchy
+</H3>
+
+
+The DoFAccessor classes    provide access to  the   degree  of freedom
+information associated  with  cells,   lines, etc.   The   inheritance
+relationship is much the    same  as for the   triangulation  accessor
+classes, as can  be seen from the  following  pictures. In particular,
+the DoFSubstructAccessor  classes  fulfill the   same purpose  as  the
+TriaSubstructAccessors,  i.e.  they  only serve as  interface  classes
+without meaning to the user.
+
+
+<CENTER>
+<IMG SRC="1d-dof.gif" ALIGN="CENTER"> 
+</CENTER>
+<P>
+
+
+<CENTER>
+<IMG SRC="2d-dof.gif" ALIGN="CENTER"> 
+</CENTER>
+<P>
+
+The main difference to the triangulation accessor hierarchy is that we
+want the DoF accessors to provide the information about the degrees of
+freedom, but for convenience also that of the triangulation. This way,
+we can get all the information from one object rather than needing two
+which work in parallel.
+
+<P>
+
+For  the named reason, it is   necessary to derive the DoFLineAccessor
+from the LineAccessor  class of the triangulation accessor  hierarchy,
+as well as  the DoFQuadAccessor  from  the QuadAccessor. However,   we
+would also like to include the functionality added by the CellAccessor
+class;  this  is done through some  template  magic: when in one space
+dimension, the  DoFLineAccessor is derived from CellAccessor&lt;1&gt;,
+while   when   in   higher     dimensions,   it   is    derived   from
+LineAccessor&lt;dim&gt;;  the  same  applies for  the  DoFQuadAccessor
+class.  Note  that this way,  CellAccessor is  always  a base class to
+DoFCellAccessor and the  inheritance  lattice is dimension  dependant;
+the  exact way of  achieving this  is complicated but  not of interest
+here.
+
+
+<H4>
+Typedefs of the DoFHandler class to iterators and accessors
+</H4>
+
+
+The typedefs done by the DoFHandler class are much alike those done by
+the Triangulation class. They could be summarized as follows:
+
+<P>
+
+For one space dimension:
+
+<PRE>
+    typedef TriaRawIterator   <1,DoFCellAccessor<1> >    raw_line_iterator;
+    typedef TriaIterator      <1,DoFCellAccessor<1> >        line_iterator;
+    typedef TriaActiveIterator<1,DoFCellAccessor<1> > active_line_iterator;
+
+    typedef    raw_line_iterator    raw_cell_iterator;
+    typedef        line_iterator        cell_iterator;
+    typedef active_line_iterator active_cell_iterator; 
+</PRE>
+Since lines are cells in one space dimension, all line iterators are
+cell iterators as well.
+
+<P>
+
+For two space dimensions:
+
+<PRE>
+    typedef TriaRawIterator   <2,DoFLineAccessor<2> >    raw_line_iterator;
+    typedef TriaIterator      <2,DoFLineAccessor<2> >        line_iterator;
+    typedef TriaActiveIterator<2,DoFLineAccessor<2> > active_line_iterator;
+    
+    typedef TriaRawIterator   <2,DoFCellAccessor<2> >    raw_quad_iterator;
+    typedef TriaIterator      <2,DoFCellAccessor<2> >        quad_iterator;
+    typedef TriaActiveIterator<2,DoFCellAccessor<2> > active_quad_iterator;
+
+    typedef    raw_quad_iterator    raw_cell_iterator;
+    typedef        quad_iterator        cell_iterator;
+    typedef active_quad_iterator active_cell_iterator;
+
+    typedef    raw_line_iterator    raw_face_iterator;
+    typedef        line_iterator        face_iterator;
+    typedef active_line_iterator active_face_iterator;    
+</PRE>
+
+<P>
+
+However, because of the  dimension dependant inheritance lattice,  the
+actual structure of the  data types is  more complex for more than one
+space dimension and looks like  given below. Since the exact mechanism
+is not of  matter for the  user of  the library, we  simply show these
+typedefs for completeness without going into details here.
+
+<PRE>
+    typedef TriaRawIterator   <2,DoFLineAccessor<2,LineAccessor<2> > >    raw_line_iterator;
+    typedef TriaIterator      <2,DoFLineAccessor<2,LineAccessor<2> > >        line_iterator;
+    typedef TriaActiveIterator<2,DoFLineAccessor<2,LineAccessor<2> > > active_line_iterator;
+</PRE>
+
+
+
+<P><HR></P>
+
+<div ALIGN="RIGHT">
+Wolfgang Bangerth, 1998
+</div>
+<P>&nbsp;</P></BODY>
+</HTML>
+
+
+
+</BODY>
+</HTML>
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.