Difference between revisions of "ITK/Doxygen Documentation"

From KitwarePublic
< ITK
Jump to navigationJump to search
Line 25: Line 25:
* Build the project as you would normally do, it will build both the ITK libraries/binaries and the doxygen documentation
* Build the project as you would normally do, it will build both the ITK libraries/binaries and the doxygen documentation


== Documenting classes and functions ==
== Documenting classes ==
 
 
<source lang="cpp">
/**
\class MyAwesomeClass
\brief Short Description of MyAwesomeClass
 
Here you can start writing a more detailed documentation for MyAwesomeClass.
 
To document each template parameters:
\tparam T1 documentation for the first type
\tparam T2 documentation for the second type
\tparam VDimension documentation about the third template parameter which seems to be related to the Dimension
*/
template< class T1, typename T2, unsigned int VDimension >
class MyAwesomeClass
{
}
</source>


== Creating links to wiki examples ==
== Creating links to wiki examples ==

Revision as of 11:20, 9 May 2011

Dependencies

Generating a complete doxygen documentation requires (apart from cmake and ITK source code)

Generating the Doxygen documentation

Complete doxygen documentation

To generate the complete doxygen documentation (of the whole toolkit), the same as the online doxygen documentation

  • In CMake BUILD_DOCUMENTATION must be turned ON !!
  • Build the project as you would normally do, it will build both the ITK libraries/binaries and the doxygen documentation

Note that depending on your machine, this process can take a lot time.

Enabled modules documentation

To generate the doxygen documentation of enabled modules documentation (a subset of the complete one)

  • In CMake BUILD_DOCUMENTATION and DOXYGEN_MODULE_ENABLED must be turned ON !!
  • Build the project as you would normally do, it will build both the ITK libraries/binaries and the doxygen documentation

Documenting classes

/**
\class MyAwesomeClass
\brief Short Description of MyAwesomeClass

Here you can start writing a more detailed documentation for MyAwesomeClass.

To document each template parameters:
\tparam T1 documentation for the first type
\tparam T2 documentation for the second type
\tparam VDimension documentation about the third template parameter which seems to be related to the Dimension
*/
template< class T1, typename T2, unsigned int VDimension >
class MyAwesomeClass
{
}

Creating links to wiki examples

Documenting modules

Is there a way to create a dependency graph of the modules?

That would be great!! Right now, what's being done is that at cmake time, a doxygen page is generated and at the end of the page you have a "Dependencies" section with the list of dependent modules, and links to corresponding pages.

Maintaining the documentation

Suppressing and preventing Doxygen warnings