gCAD3D 2.40

../../doc/gcad_doxygen/DevDoc_hints.dox

doxygen_Structure
doxygen_Controlpages
doxygen_Sourcepages

doxygen_Structure

./do udd                             start update doc (start gcad_doxygen.sh)
../../doc/gcad_doxygen.sh            main-script, (re)create whole doc


-------------------------------------------------------
ADD A new controlpage:
- create new file ../../doc/gcad_doxygen/filename.dox
- add this file to mainmenu "myFiles" in ../../doc/gcad_doxygen.sh
- update doc: ./do udd   (starts ../../doc/gcad_doxygen.sh)


-------------------------------------------------------
structure of controlpage:

/*! \page filename
<pre>  ...   
\ref test-Section
</pre>
\section test-Section
minimum example ..
*/

doxygen_Controlpages

3 blocktypes:

verbatim ... endverbatim // must have leading backslashes !
                         // Text only; no automatic links.

<pre>  ...   </pre>      // wie html <pre>, ohne verlinkung. <br> not necess.
                         // no automatic links.
                         // use <b> <A HREF..

\code  ...  \endcode     // with automatic links.
                         // \ref NOT resolved:



-------------------------------------------------------
ADD A LINK to an internal section:
<pre>
  \ref Curve-Clot                 Clothoid-curve
</pre>
..
<hr>                              // horiz. ruler
\section Curve-Clot               // HIER KEIN COMMENT !


-------------------------------------------------------
ADD A LINK to a source-file:


// inside pre-block:
<pre>
Source: ../ut/ \ref ut_ui_TX.c         TX_* messages
</pre>


// inside code-block:
\endcode Sourcefile: ../ut/ \ref cvClot.c  - comment \code


-------------------------------------------------------
ADD A LINK to a html-page:

// inside code-block:
\endcode
See also: <A HREF="../../doc/html/format_gcad_A_en.htm">Surfaces</A>
\code

doxygen_Sourcepages

/* description ..  date .. author
 *
 * Copyright (C) 2016 CADCAM-Servies Franz Reiter (franz.reiter@cadcam.co.at)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 *
-----------------------------------------------------
TODO:
  ..

-----------------------------------------------------
Modifications:
2009-04-06  created. RF.

-----------------------------------------------------
*//*!
\file ../dir/filename.c
\brief  short description of file
\code

=====================================================
List_functions_start:
..
List_functions_end:
=====================================================

-see also:
- internal:
- usage examples:
- OFFLINE tests:

\endcode *//*

further infos ..

*/

#include ..


//================================================================
// functions:

// Version 1 - shortDescription only:

//=================
  int main (void) {
//=================
/// main-entry




// Version 2 - short- & long-Description:

//============================
  int ugrp_free (Group *grp) {
//============================
///\code
/// long-Description ugrp_free.
///\endcode




// Version 3 - short- & long-Description & parameters:
//   ATT: line with last parameter may not contain '{' !

//=========================
  int ugrp_add (Group *grp,       ///< in/out group, where to add
                int typ,          ///< in     type of obj to be added (eg Typ_PT)
                void *elact)      ///< in     obj (eg *Point)
//==========================
///\code
/// Input:
///   typ     zB xx
///   elact   act. element;
/// Output:
///   grp     gruppe ..
///\endcode
{



//================================================================
// defines-typedefs-parameters

// descriptions must be inline or before declaration !


// Version 1 - shortDescription (inline):

#define RAD_360  6.2831853071795862319    ///< 360 Grad



// Version 2 - shortDescription (before):

/// ILIM2                     returns x = between lo and hi
#define ILIM2(x,lo,hi) (((x)>(hi))?(hi):(((x)<(lo))?(lo):(x)))



// Version 3 - short- & long-Description:

/// \brief ICHG01 change 0 -> 1, 1 -> 0.
/// \code
/// output always has pos. sign
/// \endcode
#define ICHG01(i)  (((i)>0)?(0):(1))



// EOF

EndOfFile