diff -r 000000000000 -r 42188c7ea2d9 Orb/Doxygen/doc/diagrams.doc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orb/Doxygen/doc/diagrams.doc Thu Jan 21 17:29:01 2010 +0000
@@ -0,0 +1,148 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2008 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+/*! \page diagrams Graphs and diagrams
+
+ Doxygen has built-in support to generate inheritance diagrams for C++
+ classes.
+
+ Doxygen can use the "dot" tool from graphviz to generate
+ more advanced diagrams and graphs. Graphviz is an open-source,
+ cross-platform graph drawing toolkit and can be found
+ at http://www.graphviz.org/
+
+ If you have the "dot" tool in the path, you can set
+ \ref cfg_have_dot "HAVE_DOT" to \c YES in the configuration file to
+ let doxygen use it.
+
+ Doxygen uses the "dot" tool to generate the following graphs:
+
+ - A graphical representation of the class hierarchy will be drawn, along
+ with the textual one. Currently this feature is supported for HTML only.\n
+ Warning: When you have a very large class hierarchy where many
+ classes derive from a common base class, the resulting image may become
+ too big to handle for some browsers.
+
- An inheritance graph will be generated for each documented class showing the
+ direct and indirect inheritance relations. This disables the
+ generation of the built-in class inheritance diagrams.
+
- An include dependency graph is generated for each documented file that
+ includes at least one other file. This feature is currently supported
+ for HTML and RTF only.
+
- An inverse include dependency graph is also generated showing for
+ a (header) file, which other files include it.
+
- A graph is drawn for each documented class and struct that shows:
+
+ - the inheritance relations with base classes.
+
- the usage relations with other structs and classes (e.g.
+ class \c A has a member variable \c m_a of type class \c B, then
+ \c A has an arrow to \c B with \c m_a as label).
+
+ - if \ref cfg_call_graph "CALL_GRAPH" is set to YES, a
+ graphical call graph is drawn for each function showing the
+ functions that the function directly or indirectly calls.
+
- if \ref cfg_caller_graph "CALLER_GRAPH" is set to YES, a
+ graphical caller graph is drawn for each function showing the
+ functions that the function is directly or indirectly called by.
+
+
+ Using a \ref customize "layout file" you can determine which of the
+ graphs are actually shown.
+
+ The options \ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES" and
+ \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH" can be used to
+ limit the size of the various graphs.
+
+ The elements in the class diagrams in HTML and RTF
+ have the following meaning:
+
+ - A \b yellow box indicates a class. A box can have a
+ little marker in the lower right corner to indicate that the class
+ contains base classes that are hidden.
+ For the class diagrams the maximum tree width is currently 8 elements.
+ If a tree is wider some nodes will be hidden.
+ If the box is filled with a
+ dashed pattern the inheritance relation is virtual.
+
- A \b white box indicates that the documentation of the class
+ is currently shown.
+
- A \b grey box indicates an undocumented class.
+
- A solid dark blue arrow indicates public inheritance.
+
- A dashed dark green arrow indicates protected inheritance.
+
- A dotted dark green arrow indicates private inheritance.
+
+
+ The elements in the class diagram in \f$\mbox{\LaTeX}\f$ have the
+ following meaning:
+
+ - A \b white box indicates a class.
+ A \b marker in the lower right corner of the box indicates that the
+ class has base classes that are hidden.
+ If the box has a \b dashed border this indicates virtual inheritance.
+
- A \b solid arrow indicates public inheritance.
+
- A \b dashed arrow indicates protected inheritance.
+
- A \b dotted arrow indicates private inheritance.
+
+
+ The elements in the graphs generated by the dot tool have the following
+ meaning:
+
+ - A \b white box indicates a class or struct or file.
+
- A box with a \b red border indicates a node that has
+ \e more arrows than are shown!
+ In other words: the graph is \e truncated with respect to this node.
+ The reason why a graph is sometimes truncated is to prevent images
+ from becoming too large.
+ For the graphs generated with dot doxygen tries
+ to limit the width of the resulting image to 1024 pixels.
+
- A \b black box indicates that the class' documentation is currently shown.
+
- A dark blue arrow indicates an include relation (for the
+ include dependency graph) or public inheritance (for the other graphs).
+
- A dark green arrow indicates protected inheritance.
+
- A dark red arrow indicates private inheritance.
+
- A purple dashed arrow indicated a "usage" relation, the
+ edge of the arrow is labled with the variable(s) responsible for the
+ relation.
+ Class \c A uses class \c B, if class \c A has a member variable \c m
+ of type C, where B is a subtype of C (e.g. C could be \c B, \c B*,
T\*
).
+
+
+
+Here are a couple of header files that together show the various diagrams
+that doxygen can generate:
+
+diagrams_a.h
+\verbinclude diagrams_a.h
+diagrams_b.h
+\verbinclude diagrams_b.h
+diagrams_c.h
+\verbinclude diagrams_c.h
+diagrams_d.h
+\verbinclude diagrams_d.h
+diagrams_e.h
+\verbinclude diagrams_e.h
+
+ \htmlonly
+ Click here
+ for the corresponding HTML documentation that is generated by doxygen
+ (EXTRACT_ALL
= YES
is used here).
+ \endhtmlonly
+
+\htmlonly
+Go to the next section or return to the
+ index.
+\endhtmlonly
+
+*/
+