]> Creatis software - creaMaracasVisu.git/blobdiff - lib/doxygen/DoxyMainPage.txt.in
Fix trouble on Linux
[creaMaracasVisu.git] / lib / doxygen / DoxyMainPage.txt.in
index 0e6aa9039173508132ba64930a27d628f7727312..63123b4577b6ff1b929f33ed2381e8ff1536989d 100644 (file)
  * \mainpage creaMaracasVisu documentation
 
 \htmlonly 
-<H2>Architecture Description ?????????? </H2>
-<br>
-<a href="Architecture.htm"> Architecture </a>
-<br>
-
-<H2>Diagrams of the architecture</H2> <br>
-Viewers <br>
-<a href="../wxVtkViewer_classDiagram1_HTML/index.html"> - wxVtkViewer Class Diagram 1</a> <br>
-<a href="../wxVtkViewer_classDiagram2_HTML/index.html"> - wxVtkViewer Class Diagram 2</a> <br>
-<br>
-<a href="../pPlotter_HTML/index.html"> pPlotter Class Diagram</a> <br>
-<br>
-Manual Contour Class Diagram <br>
-<a href="../manualContour_MVC_HTML/index.html"> -MVC (Model View Controler)</a> <br>
-<a href="../manualContour_Model_HTML/index.html"> -Model</a> <br>
-<a href="../manualContour_View_HTML/index.html"> -View</a> <br>
-<a href="../manualContour_Controler_HTML/index.html"> -Controler</a> <br>
-
-<H2>Sequence Diagrams  ?????????? </H2>
-<br>
-<a href="XXXXXX.html"> seg01 </a>
-<br>
+
+<!-- ******************************************************************************* -->
+<!-- Paste here the new code HTML for the main page of creaMaracasVisu documentation -->
+<!-- It is possible to use the file TemplateHomeLibDoxygen.html to edit easily -->
+<!-- but don't forget to delete head and body open tags. RaC -->
+<!-- ******************************************************************************* -->
+
+
+<style type="text/css">
+.titles {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       color: #000000;
+       font-size: large;
+       font-weight: bold;
+}
+.text {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: small;
+       font-weight: normal;
+}
+a.el {
+font-weight:bold;
+text-decoration:none;
+}
+a {
+color:#1A41A8;
+}
+.subtitles {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: 90%;
+       font-weight: bold;
+       text-decoration: underline;
+}
+.listDiagrams {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       margin-left: 25px;
+       font-size: small;
+       font-weight: bold;
+}
+.paragraph {
+       margin-left: 40px;
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: small;
+}
+.style1 {
+       text-decoration: underline;
+       font-weight: bold;
+}
+.style3 {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: 21px;
+       text-decoration: underline;
+       text-align: justify;
+}
+.style4 {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       color: #000000;
+       font-size: x-large;
+       font-weight: bold;
+       text-align: center;
+}
+</style>
+
+
+<H2 class="style4">General Description</H2>
+<H2><span class="text">First of all, <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a></strong> is a C++ library developed by 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/creatools">Creatools</a> 
+software team and it follows the general architecture of Creatools architecture 
+(more information in the 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaToolsArchitecture">Creatools Architecture</a> diagram.
+<strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> has as principal objective to help the visualization of medical 
+images and the interaction with them. </span></H2>
+<hr />
+
+<H2 class="style4">&nbsp;Architecture Description</H2>
+<H2><span class="text">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:<br />
+<br />
+- <a class="el" href="#ViewersInteractors">Viewers and interactors</a><br />
+- <a class="el" href="#Contours">Contours</a><br />
+- <a class="el" href="#Cutter">Cutter Module</a><br />
+- <a class="el" href="#Plotter">Plotter and Data Representation</a><br />
+
+<br />
+The relationship among this set of elements is described in the following 
+diagram :<br />
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp; - 
+<a class="el" href="../GeneralArchitecture_HTML/index.html">Architecture Diagram</a></span></H2>
+<hr />
+
+<H2 class="style4">&nbsp;Modules Description</H2>
+<p class="text">In this section are presented the corresponding diagrams for 
+each model in <span class="text"> <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> </span>
+library including classes, components and sequence diagrams, as well as a short 
+description of the module of interest.</p>
+
+
+
+<a name="ViewersInteractors"></a>
+<div class="style3">
+       <br />
+               Viewers and interactors</div>
+<br />
+<span class="text">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.<br />
+<br />
+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.</span><br />
+<br />
+<span class="listDiagrams">Class diagrams</span><br />
+<br />
+<span class="listDiagrams">&nbsp;&nbsp;
+<a href="../wxVtkViewer_classDiagram1_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 1</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<a href="../wxVtkViewer_classDiagram2_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 2</a></span><br />
+&nbsp;<br>
+
+<hr /><span class="subtitles"><a name="Contours"></a></span>
+<span class="style3">Contours</span><br />
+<br />
+<span class="text">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&#39;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.<br />
+<br />
+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 <span class="text"> <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaMaracasVisuUserGuide#Contours">User Guide</a> </strong> </span>
+ documentation) are described as a state diagram and every contours reacts 
+depending of its state.</span><br />
+<br />
+<span class="listDiagrams">Class diagrams<br />
+<br />
+</strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a href="../manualContour_MVC_HTML/index.html" class="el"> MVC (Model View Controller)</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Model_HTML/index.html" class="el">- Model</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_View_HTML/index.html" class="el">- View</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Controler_HTML/index.html" class="el">- Controller</a><br />
+</div>
+<br />
+<span class="listDiagrams">Sequence diagrams</span><br />
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a class="el" href="../manualContour_SeqCreateContour_HTML/index.html">To create a new 
+       contour MVC</a> 
+<div class="paragraph">
+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.</div><br />
+<hr /><span class="style3"><a name="Cutter"></a>Cutter</span><br>
+
+<br />
+<span class="listDiagrams">Component diagrams<br />
+<br />
+</strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a href="../CutModuleDiagrams_HTML/index.html" class="el"> Cutter module 
+       components </a>
+</div>
+
+<br />
+<span class="listDiagrams">Class diagrams<br />
+<br />
+</span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
+       <a href="../CutModuleDiagrams_HTML/fig141309.png" class="el"> Cutter module 
+       integration </a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134653.png" class="el">- 
+       Interface</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134781.png" class="el">- 
+       Kernel</a></div>
+<br />
+<hr /><span class="style3"><a name="Plotter"></a>Plotter and data representation</span><br>
+
+<br />
+
+<span class="listDiagrams">Class diagrams</span><br class="style1" />
+<br />
+<div class="text">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../pPlotter_HTML/index.html" class="el">- pPlotter Class Diagram</a> <br>
+</div>
+
+
+<!-- ******************************************************************************* -->
+<!--         End HTML Code         -->
+<!-- ******************************************************************************* -->
 
 \endhtmlonly