MeshKit  1.0
Doxygen Algorithm Templates

MeshKit Algorithms Page

In all templates:

  • Parentheses sections should be replaced
  • Parentheses should be removed

Table

If there is not a table where a newly created algorithm fits a new table can be inserted.

Below are some notes on using the template that follows after:

  • A generic title for table should be made so other algorithms will fit
  • Dimensions that are not represented in algorithm should be removed
<br><br><big><big>  (name of table)  </big></big><br><br>

<center><table width=80% bgcolor=black style="text-align: center;" border="0" cellpadding="5" cellspacing="2"><tbody>

<tr bgcolor=darkgray> <td>
Algorithm</td><td>
Related Examples</td><td>
Related Tests</td><td>
Brief Info</td></tr>

<tr bgcolor=white> <td colspan="4"> <big><b>  0D Algorithms </b></big> </td> </tr>

<tr bgcolor=white> <td colspan="4"> <big><b>  1D Algorithms </b></big> </td> </tr>

<tr bgcolor=white> <td colspan="4"> <big><b>  2D Algorithms </b></big> </td> </tr>

<tr bgcolor=white> <td colspan="4"> <big><b>  3D Algorithms </b></big> </td> </tr>

</tbody></table></center>

Entry

Each algorithm should have at least 1 entry on the Meshkit Algorithms page.

Below are some notes on using the template that follows after:

  • Color must be changed.
    • "springreen" is for LGPL-compatible license; Bundled with MeshKit
    • "skyblue" is for LGPL-compatible license; External
    • "goldenrod" is for Proprietary or GPL license; External
  • No algorithm should have two "\subpage" links, use "\ref" for any past the first
  • If multiple tests/examples exist:
    • Tests can be added on same line, and will wrap when neccesary
    • Newlines should only be added by adding "\n"

Template:

<tr bgcolor=(color)>                                  <td> \endhtmlonly
(link to description i.e. \subpage alg_page "page")   \htmlonly </td> <td> \endhtmlonly
(link to example i.e. \ref example_page)              \htmlonly </td> <td> \endhtmlonly
(link to test i.e. \ref test_page)                    \htmlonly </td> <td> \endhtmlonly
(a brief description; objective and short)            \htmlonly </td> </tr>

Algorithm Description

For each algorithm that is created, an algorithm description page should be created. The purpose of this page is to give users a brief look at the algorithm and it's requirements.

/*!
\page algorithm_(lowercase meshop name) (name of this algorithm)

<b>Name:</b> (name of this algorithm)

<b>External dependencies:</b> (none)

<b>Input:</b> (valid input to this algorithm)

<b>Output:</b> (output generated by this algorithm)

<b>Interface(s) used:</b> (selection of iGeom, iMesh, iRel, CGM, MOAB, LASSO)

<b>Setup:</b>

(any noteable calls during setup, or requirements for successful setup/execute belong here [Pre-Setup])

<b>Notes:</b>

(any notes on using the algorithm belong here)
*/

Tests

At the top of every test there should be a doxygen section with some brief infromation.

Template:

/**
\file test_(lowercase meshop or feature).cpp
\test This file contains (some number of tests, i.e. "3") test(s). Algorithms tested include: (List of MeshOp's or features tested).
*/

Examples

At the top of every example there should be a doxygen section with some brief information. Examples should also contain many C-style comments in the code so new users can follow along.

Below are some notes on using the template that follows after:

  • Sections with "(myalg)" should be replaced by
    • A lowercase name of MeshOp if appropiate
    • A lowercase short name as a description of example otherwise
  • \bug and \warning can be removed if there are none
  • \image
    • If there is no input or output, the line should be replaced with "(none)"
    • You must add create and add the images to trunk/doc/figures/examples/
    • There is a shell script that will resize images (trunk/dox/resize.sh)
      • It has a default size built in appropiate for doxygen
      • Modifies the original image
      • Depends on the programs "convert", "expr", and "identify" being available

Template:

/**
\example example_(myalg).cpp

\section example_(myalg)_cpp_title <name of My Algorithm>

(some text explaining objectives of example)

\subsection example_(myalg)_cpp_in Input
\image html (myalg).in.jpg "(description of image)"

\subsection example_myalg_cpp_out Output
\image html (myalg).out.jpg "(description of image)"

\subsection example_(myalg)_cpp_inf Misc. Information
\author (author's name)
\date (date-of-creation)
\bug (message if there are any bugs with your example)
\warning (message if users should be warned about your example)

\subsection example_myalg_cpp_src Source Code
*/
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines