Date: Fri, 12 Feb 1999 10:29:48 +0000 (+0000)
Subject: Move the class hierarchy files from the deal.II tree to the general doc tree.
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e41ad881eaa38172794509baf3ac81bec7d6c77;p=dealii-svn.git
Move the class hierarchy files from the deal.II tree to the general doc tree.
git-svn-id: https://svn.dealii.org/trunk@787 0785d39b-7218-0410-832d-ea1e28bc413d
---
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
index 0000000000..98892235cb
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/1d-dof.eps
@@ -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
index 0000000000..935d4c9d33
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/1d-dof.fig
@@ -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
index 0000000000..4d9b814496
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
index 0000000000..2483208e62
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/1d-tria.eps
@@ -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
index 0000000000..8db63ed8e2
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/1d-tria.fig
@@ -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
index 0000000000..4c16c9cd5e
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
index 0000000000..d933662b02
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/2d-dof.eps
@@ -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
index 0000000000..f60979a2a9
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/2d-dof.fig
@@ -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
index 0000000000..bfce7f5607
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
index 0000000000..8c1d3a2324
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/2d-tria.eps
@@ -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
index 0000000000..bcb70161b9
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/2d-tria.fig
@@ -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
index 0000000000..a018ee4db3
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
index 0000000000..19703602ee
--- /dev/null
+++ b/deal.II/doc/reports/class-hierarchies/index.html
@@ -0,0 +1,301 @@
+
+
+DEAL
+
+
+
+
+Description of the C++ class hierarchy for the
+accessor classes
+
+
+
+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.
+
+
+
+
+What iterators and accessors are
+
+
+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).
+
+
+
+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.
+
+
+
+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
+-> 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 list<T>
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.
+
+
+
+Additionally, there are different versions of the iterators which
+behave differently when being incremented or decremented: while
+raw iterators let the associated accessor point to any of the
+objects it is made for, normal 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.
+
+
+
+Finally, there are active 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.
+
+
+
+
+The triangulation accessor hierarchy
+
+
+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:
+
+
+
+
+
+
+
+
+
+
+
+
+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.
+
+
+
+Typedefs of the Triangulation class to iterators and accessors
+
+
+The Triangulation<1>
class declares the following data
+types which involve accessors:
+
+ 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;
+
+Since lines are cells in one space dimension, all line iterators are
+cell iterators as well.
+
+
+
+In two space dimensions, the following types are declared by the
+Triangulation<2>
class:
+
+ 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;
+
+
+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.
+
+
+
+
+
+The degree of freedom accessor hierarchy
+
+
+
+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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+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.
+
+
+
+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<1>,
+while when in higher dimensions, it is derived from
+LineAccessor<dim>; 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.
+
+
+
+Typedefs of the DoFHandler class to iterators and accessors
+
+
+
+The typedefs done by the DoFHandler class are much alike those done by
+the Triangulation class. They could be summarized as follows:
+
+
+
+For one space dimension:
+
+
+ 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;
+
+Since lines are cells in one space dimension, all line iterators are
+cell iterators as well.
+
+
+
+For two space dimensions:
+
+
+ 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;
+
+
+
+
+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.
+
+
+ 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;
+
+
+
+
+