Return to site

Schwartz 1 7 8 – Template Based Graphics Code Generator

broken image


Table of Contents

  1. Using Vipr With This Writer
  2. 99 Of The Best Free HTML Templates To Make Your Website Sparkle
  3. MATLAB - Plotting - Tutorialspoint

128 Free Graphics Generators Choose a Text Style Most Popular - By Name. 1–56 of 128 items Generator Categories. First, choose from a gallery of high-quality, vector format logo templates. It's categorized by industry, making the editing experience quick and easy. We take great pride in the fact that all of our design templates are originals created by our team of talented designers.

  • 1. Doxygen Documentation Generator
    • 1.5. Example

1 Doxygen Documentation Generator

1.1 Overview

Doxygen is a tool that can generate project documentation in html, pdfor Latex from code comments formatted with Doxygen markup syntax. Thegenerated documentation makes easier to navigate and understand thecode as it may contain all public functions, classes, namespaces,enumerations, side notes and code examples.

  • Author: Dimitri Van Heesch (1997)
  • Official Web Site: http://www.doxygen.nl/
  • Projects using Doxygen:

Supported Languages besides C++:

  • C
  • C++
  • Fortran
  • Objective-C
  • C#
  • PHP
  • Python
  • IDL (Corba, MIDL - Microsft Interface Definition Language)
  • VHDL
  • Tcl
  • D-Language (Not full support)

Online Examples of Doxygen Documentation:

  • SFML [Best] - Simple and Fast Multimedia Library
    • Well known game development library.
    • Doxygen Configuration:
  • OpenCV [Best] - Open Source Computer Vision
    • Doxygen Configuration:
  • Magnum Graphics [Best] - Lightweight and modular C++11/C++14 graphicsmiddleware for games and data visualization https://magnum.graphics/
    • Github: https://github.com/mosra/magnum
    • Doxygen Configuration:
  • OpenFoam - Open Source C++ library for CFD (Computational FluidDynamics) with toolboxes for fluid dynamics, chemical reactions,turbulence, heat transfer and so on.
    • More at: https://en.wikipedia.org/wiki/OpenFOAM
    • Doxygen Configuration:
  • CERN's Root Framework
    • Doxygen Configuration:
  • Eigen3 - Template-based library for Linear Algebra.
  • Ogre3D - Game Engine (Object-Oriented Graphics Rendering Engine)
  • GslWrapper - C++ wrapper class for the GNU Scientific Library

Other C++ Documentation Generators:

  • Github: foonathan/standardese
    • Creator: Jonathan Müller
    • A (work-in-progress) nextgen Doxygen for C++ - this documentationgenerator uses libclang as its parser. By using this library, thegenerator can extract more useful information and metadata aboutthe code.
    • Video: Lightning Talks Meeting C++ 2016 - Jonathan Müller - Standardese
  • QT5 QDoc (No well documented, lack examples.)
    • Creator: QT Company
    • 'QDoc is a tool used by Qt Developers to generate documentationfor software projects. It works by extracting QDoc comments fromproject source files and then formatting these comments as HTMLpages or DITA XML documents. QDoc finds QDoc comments in .cppfiles and in .qdoc files. QDoc does not look for QDoc comments in.h files.'
  • NaturalDocs (Basic support for C++, full support only for C#.)
    • 'Natural Docs lets you document code written in any of 20programming languages, plus it can be easily extended for more sowhatever you use, it can too. And if your project uses multiplelanguages, no problem! It will all be included in the same setof documentation.'
    • Supported Languages: https://www.naturaldocs.org/languages/
  • Sphinx
    • Sphinx is a documentation generator for Python. However, it cangenerate C++ documentation by using the metadata created byDoxygen.
  • ROBODoc - Official Web Site

Omnioutliner pro 5 5 3 3. Other Documentation Generators:

  • Pydoc - Python standard documentation generator.
  • Ddoc - Documentation Generator for D-language (Walter Bright)

See also:

  • Comparison of Documentation Generator - Wikipedia

Using Vipr With This Writer

1.2 Installing Doxygen

Windows: https://bestfup110.weebly.com/audiobook-converter-2-4-1-download-free.html.

Installation via Chocolately:

Linux Distributions

Fedora Linux:

Ubuntu or Debian Linux: Zbrush 2020 1 12.

1.3 Doxygen Tags Ref Card

Tags for Documenting File

Note: Those tags should be placed at top of file.

TagDescription
@file File Name
@author Author name
@brief Short description
@date Date

Example: => File: IDownloader.hpp

Tags for Documenting Functions, Classes, Methods and so on

TagDescription
General Description
@briefBrief description of class or function (fits a single line)
@detailsDetails about class or function
@author Insert author name
Function Or Method Documentation
@param Function or method parameter description
@param[in] Input parameter (C-function)
@param[out] Output paramter of C-style function that returns multiple values
@param[in, out] Parameter used for both input and output in a C-style function.
@tparam Template type parameter
@trhow Specify exceptions that a function can throw
@pre Pre conditions
@post Post conditions
@return Description of return value or type.
Code Blocks
@code … … @encodeC++ code example.
Miscellaneous
@remarkAdditional side-notes
@noteInsert additional note
@warning
@see SomeClass::MethodReference to some class, method, or web site
@liBullet point
@todo TODO annotation, reminders about what is still needs to be done.

1.4 Doxyfile Settings

This section provides suitable settings for the Doxygen configurationfile Doxyfile generated with the command $ doxygen -g or with theapplication DoxyWizard.

Set project name:

Set project description:

Set Input directory

  • Directory containing source code to be scanned. In this case, thisdirectory is set to ./src which contains all source codesrc/main.cpp, src/class1.hpp, class1.cpp and so on. The defaultvalue of the entry INPUT is the current directory where is theDoxyfile.

Set Output directory:

  • Set the directory where html or latex documentation will begenerated.

Force code to be regarded as C++ code:

  • Explanation: Header files intended to be used by both C and C++between the statements _ifdef __cplusplus . #endif can beunderstood by Doxygen as C-code, not C++ code. So, any class,struct, namespace of function defined in this namespace will bediscarded. The solution to this shortcoming is to notify Doxygenthat the macro __cplusplus is defined.

Disable Latex Documentation Generation:

99 Of The Best Free HTML Templates To Make Your Website Sparkle

  • Disabling Latex - makes the generation of documentationfaster. Besides that, processing Latex requires a huge number ofdependencies.

Entry: Distribute group doc:

Extract everything from source code

  • This option is useful for undestandign new code.

Source browser

  • Useful for navigating and understanding unfamiliar code.
Schwartz 1 7 8 – Template Based Graphics Code Generator

1.5 Example

1.5.1 Overview

Files: Gist with full Code

Getting the sample code:

Generate html documentation: Sketch 46 2.

List generated documentation:

Open documentation in the browser:

If the project Doxyfile configuration file does not exist, a defaultone can be generated with Doxygen:

1.5.2 Type Aliases

Simple type alias:

Output:

Figure 1: Documentation of type alis MathFunc

Templated type alias

Figure 2: Documentation of type alias MathFunGen

1.5.3 Enumeration MathErrorCode

Enumeration code (file: mathutils.hpp):

Topaz detail 3 2 0. Output:

Figure 3: Doxygen enumeration MathErrorCode - A

1.5.4 Function NewtonSolver

File: mathutils.hpp

Output:

MATLAB - Plotting - Tutorialspoint

Figure 5: Documentation generated for function NewtonSolver

1.5.5 Templated Function GenericNewtonSolver

File: mathutils.hpp Studies 1 5.

Output:

Figure 6: Documentation of function GenericNewtonSolver - part 1

Figure 7: Documentation of function GenericNewtonSolver - part 2

1.5.6 C-Function daxpy

Output:

Figure 8: C-Function daxpy

1.5.7 Class XYChart

Output:

Figure 9: Documentation of class XYChart - part 1

Figure 10: Documentation of class XYChart - part 2

Principle figma. Constructor

Output:

Figure 11: Documentation of class XYChart - Constructor - part 3

Method addCurve

Figure 12: Documentation of class XYChart - Member function addCurve - part 3





broken image