X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Fdoxygen%2FDoxyMainPage.txt.in;h=f49cc28d71fe0f9a390f76c1e458c3f827196392;hb=140cf7973aad1fc89445baaef2875e023d5207e4;hp=3d2fd1a90af57192bbc8b51acaefe3dd1e72d388;hpb=8ff931cbc8000ad6988c0ad8689876eb6ce1f606;p=creaMaracasVisu.git
diff --git a/lib/doxygen/DoxyMainPage.txt.in b/lib/doxygen/DoxyMainPage.txt.in
index 3d2fd1a..f49cc28 100644
--- a/lib/doxygen/DoxyMainPage.txt.in
+++ b/lib/doxygen/DoxyMainPage.txt.in
@@ -2,30 +2,293 @@
* \mainpage creaMaracasVisu documentation
\htmlonly
-
Architecture Description ??????????
-
- Architecture
-
-
-Diagrams of the architecture
-Viewers
- - wxVtkViewer Class Diagram 1
- - wxVtkViewer Class Diagram 2
-
- pPlotter Class Diagram
-
-Manual Contour Class Diagram
- -MVC (Model View Controler)
- -Model
- -View
- -Controler
-
-Sequence Diagrams ??????????
-
- seg01
-
+
+
+
+
+
+
+
+
+
+
+
+
+General Description
+First of all,
+creaMaracasVisu is a C++ library developed by
+Creatools
+software team and it follows the general architecture of Creatools architecture
+(more information in the
+Creatools Architecture diagram.
+
+creaMaracasVisu has as principal objective to help the visualization of medical
+images and the interaction with them.
+
+
+ Architecture Description
+The core of the library is divided into
+different modules, and each one provides a list of diferent functionalities that can be
+used in specific contexts. The principal components are the following:
+
+- Viewers and interactors
+- Contours
+- Cutter Module
+- Plotter and Data Representation
+- Manual Paint
+- Threshold Image View
+- Button Container
+
+
+The relationship among this set of elements is described in the following
+diagram :
+
+ -
+Architecture Diagram
+
+
+ Modules Description
+In this section are presented the corresponding diagrams for
+each model in
+creaMaracasVisu
+library including classes, components and sequence diagrams, as well as a short
+description of the module of interest.
+
+
+
+
+
+
+ Viewers and interactors
+
+This module provides a set of classes that manage the
+visualization and the interaction with images. For example, the black box
+ViewerNV is constructed using these classes and it provides the possibility to
+use different viewers depending of the context. For example, to manage an image
+3D is useful to use the wxVtk3DBaseBiew and to control a 2D image it is possible
+to use wxVtk2DBaseView. It is important to note that these viewers make the
+connection between a wxWindow and a vtkRenderWindow, in order to include the
+world VTK in any application implemented with wxWidgets.
+
+Another important point to keep in mind is that all the wxVtkBaseView instances
+have a manager of its interactor styles. These interactors describe how the
+events are handled and how the actual mechanism respond to the interaction
+callbacks. Every new instance of InteractorStyleMaracas class can be added to
+the wxBaseView in order to manage all the events made over an object. An example
+of this process is presented in the contours section.
+
+Class diagrams
+
+
+ - wxVtkViewer Class Diagram 1
+
+ - wxVtkViewer Class Diagram 2
+
+
+
+Contours
+
+This module provides a set of tools to draw different types
+of contours over the viewers of the first section. In the MVC class diagram and
+the sequence diagram to create a new contour are explained the steps necessary
+to include this functionnality into a wx-vtk scene. An example of this process
+of creation of new contours is presented in the creaContours application. It is
+important to note that the contours follow as well the same interaction system
+of the wxVtkBaseView. It means that all the contour's controllers use the
+InteractorStyleMaracas system to manage the events of the mouse and the
+keyborard in the scene. In addition, every contour controller registered in the
+wxVtkBaseView with the method AddInteractorStyleMaracas of
+vtkInteractorStyleBaseView class (see the doxygen documentation of these
+classes) will react to the mouse and keyboard events, and for this reason is
+important to have a managing system of all the interactors in the scene.
+
+Regarding the different actions that can be made using the contours, they react
+in a different way depending of the actual state of each one of them. For
+example, when any contour is into an editable state, the control points are
+visualized and can be moved, removed, etc. In brief, the actions applied to the
+contours (check the
+User Guide
+ documentation) are described as a state diagram and every contours reacts
+depending of its state.
+
+Class diagrams
+
+
+
+Sequence diagrams
+
+
+ -
+To create a new
+ contour MVC
+
+When a new
+ contour has to be created it is necessary to instantiate the MVC
+ model shown in the section before. It is important to note that Contours
+ module needs a viewer to draw and to manage the contour. For that reason,
+ after creating the model, view and controller and their relations
+ (Controller uses View and Model, and View has relation with the model), it
+ is necessary to say the viewer where it will be managed. The specific
+ methods to do this task are in the diagram.
+
Cutter
+
+
+Component diagrams
+
+
+
+
+Class diagrams
+
+
+
+
+
+
+
Plotter and data representation
+
+Class diagrams
+
+
+
+
+
Manual Paint
+
+Class diagrams
+
+
+
+
Threshold Image View
+
+Class diagrams
+
+
+
+
+
Button Container
+
+Class diagrams
+
+
+
+
+Sequence diagrams
+
+
+
+
+
+
\endhtmlonly
- */
\ No newline at end of file
+ */
+