diff --git a/Core/Documentation/Doxygen/Concepts/CodingGeneral.dox b/Core/Documentation/Doxygen/Concepts/CodingGeneral.dox new file mode 100644 index 0000000000..13a887fda6 --- /dev/null +++ b/Core/Documentation/Doxygen/Concepts/CodingGeneral.dox @@ -0,0 +1,17 @@ +/** +\page CodingGeneral General Coding + +Conceptual MITK is mainly oriented on ITK (The Insight Toolkit). Thus, most of the ITK coding concepts can be transfered to MITK. It is worth mentioning that there is a clearly written ITK Software Guide available for download on the ITK homepage. One basic concept, which MITK inherits from ITK, is the concept of smart pointers. This concepts makes memory management much easier because you don't have to call "delete" on your pointers in contrast to conventional C++. You will see these smart pointers all over MITK, an example is shown next. +\code +mitk::Image::Pointer myImage; //declaration +myImage = mitk::Image::New(); //instantiation +myImage->GetData(); //call of a method + +//in conventional C++ the same would look like this: +//(Attention: this is NO valid code in MITK!) +mitk::Image* myImage; //declaration +myImage = new mitk::Image(); //instantiation +myImage->GetData(); //call of a method +delete myImage; //delete object, you don't need this in case of ITK smart pointers +\endcode +*/ diff --git a/Core/Documentation/Doxygen/Concepts/CodingStyle.dox b/Core/Documentation/Doxygen/Concepts/CodingStyle.dox new file mode 100644 index 0000000000..799fee7c26 --- /dev/null +++ b/Core/Documentation/Doxygen/Concepts/CodingStyle.dox @@ -0,0 +1,4 @@ +/** +\page CodingStyle Coding Style +MITK provides coding style guidelines. When implementing code which should be added to the project, these guidelines should be followed in order to keep an unified coding style all over MITK. The style is oriented on normal c++ coding style combined with some extension of used libraries, e.g. the use of itk smart pointers. The MITK style guide is provided on the following page: \ref StyleGuideAndNotesPage. If you are new to MITK coding style please also consider that MITK is using different pre defined macros, which might look confusing for people who are new to MITK. An overview on these macros is given on page \ref MITKMacros. +*/ diff --git a/Core/Documentation/Doxygen/Concepts/Concepts.dox b/Core/Documentation/Doxygen/Concepts/Concepts.dox index b371c3596e..e8f88d6077 100644 --- a/Core/Documentation/Doxygen/Concepts/Concepts.dox +++ b/Core/Documentation/Doxygen/Concepts/Concepts.dox @@ -1,29 +1,29 @@ /** \page Concepts MITK concepts The following items describe some issues about MITK on a more abstract level. -# \subpage OverviewPage -# Coding Concepts - -# General (Todo) - -# Coding Style (Todo) - -# Using Macros (Todo) + -# \subpage CodingGeneral + -# \subpage CodingStyle + -# \subpage MITKMacros -# \subpage MicroServices_Overview -# Data Concepts -# Data Storage (Todo) -# \subpage PropertiesPage -# \subpage GeometryOverviewPage -# \subpage QVTKRendering -# \subpage InteractionPage -# \subpage LoggingPage -# \subpage ExceptionPage -# Testing Concept -# \subpage GeneralTests -# \subpage RenderingTests -# Application Concept -# General: MITK Applications (Todo) -# Plug-Ins (Todo) -# Perspective Concept (Todo) If you want to start using MITK, you also want to see the chapter \ref Development. */ diff --git a/Core/Documentation/Doxygen/Concepts/MITKMacros.dox b/Core/Documentation/Doxygen/Concepts/MITKMacros.dox new file mode 100644 index 0000000000..0a70b83e49 --- /dev/null +++ b/Core/Documentation/Doxygen/Concepts/MITKMacros.dox @@ -0,0 +1,5 @@ +/** +\page MITKMacros Macros in MITK + +TODO +*/