next up previous contents
Next: Starting to Program Up: Getting Started Previous: Overview of Tina   Contents

Tina Libraries, Source Code and Include Files

The Tina library structure and include files reflect the hierarchy described in the previous section. For each layer there exist a corresponding library archive, a data structures, data types and macro definitions header file, and function definitions header file. Furthermore the source code for the libraries is also arranged to reflect this structure, in that each level in the hierarchy is a sub-directory of either the tina or tinatool src directories. Further sub-directories, below this level, reflect further degrees of specialisation, which is reflected by the availability of more specific definition header files (with names that mirror the directory structure). For simplicity, in general the application programmer need only concern themselves with the top level include files (these recursively include the rest).

Functions Definitions Prototypes Library Archive
system tina/sys/sysDef.h tina/sys/sysPro.h ltinaSys
maths tina/math/mathDef.h tina/math/mathPro.h ltinaMath
image tina/image/imgDef.h tina/image/imgPro.h ltinaImage
geometry tina/geometry/geomDef.h tina/geometry/geomPro.h ltinaGeom
vision tina/vision/visDef.h tina/vision/visPro.h ltinaVision
medical tina/medical/medDef.h tina/medical/medPro.h ltinaMedical
file tina/file/fileDef.h tina/file/filePro.h ltinaFile


tinatool/tlbase/tlbaseDef.h tinatool/tlbase/tlbasePro.h ltinatoolTlBase
draw tinatool/draw/drawDef.h tinatool/draw/drawPro.h ltinatoolDraw
tw wdgts tinatool/wdgts/wdgtsDef.h tinatool/wdgts/wdgtsPro.h ltinatoolWdgts


tinatool/wdgts/X/wdgts_XDef.h tinatool/wdgts/X/wdgts_XPro.h ltinatoolWdgtsX
Xgraphics tinatool/gphx/X/gphx_XDef.h tinatool/gphx/X/gphx_XPro.h ltinatoolGphxX

The naming conventions are as defined in the table above, where X allows for window system specific variation. For instance for the Xview version substitute "xv", while for motif "xm" and Gtk, Gdk "gtk", "gdk".

The order of includes and/or the linking of libraries must conform to the hierarchy as specified in the table. That is the full list of includes would need to look like

#include <tina/sys/sysPro.h>
#include <tina/sys/sysDef.h>
#include <tina/math/mathDef.h>
#include <tina/math/mathPro.h>
#include <tina/image/imgDef.h>
#include <tina/image/img_EMDef.h>
#include <tina/file/fileDef.h>
#include <tina/file/filePro.h>
#include <tina/geometry/geomDef.h>
#include <tina/geometry/geomPro.h>
#include <tina/vision/visDef.h>
#include <tina/vision/visPro.h>

#include <tinatool/wdgts/wdgtsDef.h>
#include <tinatool/wdgts/wdgtsPro.h>
#include <tinatool/draw/drawDef.h>
#include <tinatool/draw/drawPro.h>
#include <tinatool/tlbase/tlbaseDef.h>
#include <tinatool/tlbase/tlbasePro.h>

although of course it should never be necessary to do so.

And the library load (for Xv) would be:

-ltinatoolTlMed -ltinatoolTlvision -ltinatoolTlBase -ltinatoolDraw 
-ltinatoolWdgtsXv -ltinatoolGphxX11 -ltinaMedical -ltinaVision -ltinaImage 
-ltinaFile -ltinaGeom -ltinaMath -ltinaSys

quite a mouthful as they are all required to compile a useful application program (plus extra system, user interface, and graphics libraries).

next up previous contents
Next: Starting to Program Up: Getting Started Previous: Overview of Tina   Contents
root 2020-01-17