Documentation
Dependencies Diagram of crea project
The crea project structure is as follows
This project hosts the sources for every software built in the CreaTools suite. They are described below.
- creaException: This class handles the exceptions that may be caused by any of the crea components in an application.
- creaFilesFromDirectory: This class can list the files in any directory of the system (in Windows, linux, and Mac)
- creaMessageManager: This class allows to manage the system signals generated by crea.
- creaRTTI:
- creaSystem: This is the intermediary between crea and the OS. In other words, this library contains all the OS depending stuff.
- creaVtk: This library allows to create a VTK imageData from a given raw data.
- creaVtkBasicSlicer: This library implements the creation of a slicer in VTK given an imageData.
- creaWx: This library includes the wxWidgets framework to work with it in a project.
- creawxVTKRenderWindowInteractor: Is a class to enable VTK to render to and interact with wxWindow.
Then, there are several CMake macros for compiling Crea projects.
- CREACMakeSettings: Must be put before any cmake macro.
- CREAMacro_AddExecutable: Generates the cmake commands to build and install the executable.
- CREAMacro_AddLibrary: Creates and installs a library.
- CREAMacro_Define: Macro to add a compiler definition which adds also the DEF into doxygen predefined var. (otherwise doxygen wouldn't parse the files blocked)
-
CREAMacro_DynamicLibraryExport: Manages the dynamic library creation/use:
- Creates an option ${LIBRARY_NAME}_BUILD_SHARED
- Generates the file ${LIBRARY_NAME}_EXPORT.h which defines the symbols ${LIBRARY_NAME}_EXPORT and ${LIBRARY_NAME}_CDECL to be used in exported classes/functions declarations.
- CREAMacro_FindAndUseLibraries: Tries to find and include in compilation the following libraries if they are defined:
CREA, QT4, KWWIDGETS, ITK, GDCM, VTK, GDCM2, WXWIDGETS, DOXYGEN, LATEX, TTH, BOOST, XERCES.
- CREAMacro_FindAndUseQt: Tries to find and include Qt4 in compilation if it's defined.
- CREAMacro_FindAndUseVTK: Tries to find and include VTK in compilation if it's defined.
- CREAMacro_FindAndUseWxWidgets: Tries to find and include wxWidgets in compilation if it's defined.
- CREAMacro_InstallLibraryForCMake: Creates and install the cmake files which allow to find the library by the cmake command FIND_PACKAGE.
-
CREAMacro_ManageSharedLibrary: Manages the shared library creation/use
- Creates an option ${LIBRARY_NAME}_BUILD_SHARED
- Generates the file ${LIBRARY_NAME}DLLImportExport.h which defines the symbols ${LIBRARY_NAME}_EXPORT and ${LIBRARY_NAME}_CDECL to be used in exported classes/functions declarations.
- CREAMacro_mkdir: Creates a directory if it does not exist. Also, copies a directory excluding CVS entries.
- CREAMacro_PreventInSourceBuild: Building in the source tree is forbidden, except if CREA_ALLOW_IN_SOURCE_BUILD is set, e.g. for packaging with rpmbuild. This macro takes care of that.
- CREAMacros: This macros includes all the other macros in crea.
- CREAResolveOptions: This macro deals with the messages compilation options.
- FindGTK2: Tries to find and include GTK2 in compilation if it's defined.
- FindWxWidgetsWin32: Tries to find and include wxWidgets in Windows' compilation if it's defined.
Also, it is possible to see some examples of usage of the crea project.
- Message Manager:
- Preprocessor:
- VTK Basic Slicer:
Finally, there are some applications to help developers to create and manage their CreaTools Projects.
- Crea New Project: This application helps the developers to create a crea project and setup it's basic structure.
- Crea Development Manager: This application not only helps the developer to create a project, it also helps to create and setup packages, boxes, libraries and applications that might be needed in a crea project.