]> Creatis software - creaContours.git/blob - lib/kernel_ManagerContour_NDimensions/InstantMembersNameList.h
Feature #1772 Add licence terms for all files.
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / InstantMembersNameList.h
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #ifndef __INSTANT_MEMBERS_NAME_LIST__
27 #define __INSTANT_MEMBERS_NAME_LIST__
28
29
30 //------------------------------------------------------------------------------------------------------------
31 // Includes
32 //------------------------------------------------------------------------------------------------------------
33 #include <vector>
34 #include <iostream>
35 #include <string>
36
37 #include "NameWrapper.h"
38
39
40 class InstantMembersNameList{
41
42 //------------------------------------------------------------------------------------------------------------
43 // Constructors & Destructors
44 //------------------------------------------------------------------------------------------------------------
45 public:
46
47         /*
48         * Create the InstantMembersNameList with empty data pointers
49         */
50         InstantMembersNameList();
51
52         /*
53         * Destroys the InstantMembersNameList
54         */
55         ~InstantMembersNameList();
56
57 //------------------------------------------------------------------------------------------------------------
58 // Methods
59 //------------------------------------------------------------------------------------------------------------
60
61         /*
62         * Sets the actual outline names pair
63         * @param thekeyName The key name asigned to the actual outline  
64         * @param theRealName The real name asigned to the actual outline
65         */
66         void setActualOutline(std::string thekeyName, std::string theRealName );
67
68         /*
69         * Sets the actual axes names pair
70         * @param thekeyName The key name asigned to the actual outline  
71         * @param theRealName The real name asigned to the actual outline
72         */
73         void addOutlineName(std::string thekeyName, std::string theRealName);
74         
75         /*
76         * Sets the actual axes names pair
77         * @param thekeyName The key name asigned to the actual axe      
78         * @param theRealName The real name asigned to the actual axe
79         */
80         void setActualAxeWrap(std::string thekeyName, std::string theRealName);
81
82         /*
83         * Gets the actual axes key name
84         * @return actualAxeKeyName The key name asigned to the actual axe
85         */
86         std::string getActualAxeKeyName();
87
88         /*
89         * Gets the actual axes key name
90         * @return actualSourceImageKeyName The key name asigned to the actual axe
91         */
92         std::string getActualSourceImageKeyName();
93
94         /*
95         * Gets the actual axes key name
96         * @return actualSectionImageKeyName The key name asigned to the actual axe
97         */
98         std::string getActualSectionImageKeyName();
99
100         /*
101         * Gets the vector of the key names of currect instant outlines
102         * @return vectorPairedNames The vector with the pair of outline names wrapping
103         */
104         std::vector<NameWrapper *> getOutlinesNamesVector();
105
106
107         /*
108         * Sets the actualSourceImage names pair
109         * @param thekeyName The key name asigned to the actual outline  
110         * @param theRealName The real name asigned to the actual outline
111         */
112         void setActualSourceImageNamesWrapp(std::string thekeyName, std::string theRealName);
113
114         /*
115         * Sets the actualSectionImage names pair
116         * @param thekeyName The key name asigned to the actual outline  
117         * @param theRealName The real name asigned to the actual outline
118         */
119         void setActualSectionImageNamesWrapp(std::string thekeyName, std::string theRealName);
120         
121         /*
122         * Cleans the vector and the information of the instant members wrapping
123         */
124         void clean();
125
126 //------------------------------------------------------------------------------------------------------------
127 // Constants
128 //------------------------------------------------------------------------------------------------------------
129
130 private:        
131 //------------------------------------------------------------------------------------------------------------
132 // Attributes
133 //------------------------------------------------------------------------------------------------------------
134
135         std::vector<NameWrapper *> outlinesNamesVector;
136
137         std::vector<std::string> axesNamesVector;
138
139         NameWrapper * actualAxeNamesWrapp;
140
141         NameWrapper * actualSourceImageNamesWrapp;
142
143         NameWrapper * actualSectionImageNamesWrapp;
144
145         NameWrapper * actualOutlineNamesWrapp;
146 };
147 #endif