/* 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
