%File: ~/OOP/graph/graph/DOFGraph.tex
%What: "@(#) DOFGraph.tex, revA"

\noindent {\bf DOFGraph} \\

\noindent {\bf Files}   \\
\indent \#include $<$DOFGraph.h$>$  \\

\noindent {\bf Class Decleration}  \\
\indent class DOFGraph: public ArrayGraph \\

\noindent {\bf Class Hierarchy} \\
\indent Graph \\
\indent\indent ArrayGraph \\
\indent\indent\indent {\bf DOFGraph} \\

\noindent {\bf Description}  \\
\indent DOFGraph is a type of Graph. It is a graph of the DOF
connectivity of the analysis model. It is utilised by a SystemOfEqn
object to determine the sparsity of the system. It is a subtype of
ArrayGraph, though it could just as easily be a subtype of any other
type of Graph subclass that fully implements the graph interface. \\ 

\noindent {\bf Constructors}  \\
\indent {\em DOFGraph(AnalysisModel \&theModel);}  \\
The constructor is responsible for constructing the graph given {\em
theModel}. It creates the vertices of the graph, one for every
DOF in the model and adds all edges based on the FE\_Element
connectivity. For this reason the model must be fully populated with
the DOF\_Group and FE\_Element objects before the constructor is
called. \\

\noindent {\bf Destructor}  \\
\indent {\em virtual~$\tilde{}$ArrayGraph();}  \\
The superclass ArrayGraph is responsible for destroying the vertices. \\

\noindent {\bf Public Member Functions }  \\

\noindent {\bf Protected Member Functions }  \\
