]> Creatis software - creaContours.git/blob - lib/kernel_ManagerContour_NDimensions/InstantMembersNameList.h
e9daedbe070f94383379abd9a2a15915bf6ad636
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / InstantMembersNameList.h
1 #ifndef __INSTANT_MEMBERS_NAME_LIST__
2 #define __INSTANT_MEMBERS_NAME_LIST__
3
4
5 //------------------------------------------------------------------------------------------------------------
6 // Includes
7 //------------------------------------------------------------------------------------------------------------
8 #include <vector>
9 #include <iostream>
10 #include <string>
11
12 #include "NameWrapper.h"
13
14
15 class InstantMembersNameList{
16
17 //------------------------------------------------------------------------------------------------------------
18 // Constructors & Destructors
19 //------------------------------------------------------------------------------------------------------------
20 public:
21
22         /*
23         * Create the InstantMembersNameList with empty data pointers
24         */
25         InstantMembersNameList();
26
27         /*
28         * Destroys the InstantMembersNameList
29         */
30         ~InstantMembersNameList();
31
32 //------------------------------------------------------------------------------------------------------------
33 // Methods
34 //------------------------------------------------------------------------------------------------------------
35
36         /*
37         * Sets the actual outline names pair
38         * @param thekeyName The key name asigned to the actual outline  
39         * @param theRealName The real name asigned to the actual outline
40         */
41         void setActualOutline(std::string thekeyName, std::string theRealName );
42
43         /*
44         * Sets the actual axes names pair
45         * @param thekeyName The key name asigned to the actual outline  
46         * @param theRealName The real name asigned to the actual outline
47         */
48         void addOutlineName(std::string thekeyName, std::string theRealName);
49         
50         /*
51         * Sets the actual axes names pair
52         * @param thekeyName The key name asigned to the actual axe      
53         * @param theRealName The real name asigned to the actual axe
54         */
55         void setActualAxeWrap(std::string thekeyName, std::string theRealName);
56
57         /*
58         * Gets the actual axes key name
59         * @return actualAxeKeyName The key name asigned to the actual axe
60         */
61         std::string getActualAxeKeyName();
62
63         /*
64         * Gets the actual axes key name
65         * @return actualSourceImageKeyName The key name asigned to the actual axe
66         */
67         std::string getActualSourceImageKeyName();
68
69         /*
70         * Gets the actual axes key name
71         * @return actualSectionImageKeyName The key name asigned to the actual axe
72         */
73         std::string getActualSectionImageKeyName();
74
75         /*
76         * Gets the vector of the key names of currect instant outlines
77         * @return vectorPairedNames The vector with the pair of outline names wrapping
78         */
79         std::vector<NameWrapper *> getOutlinesNamesVector();
80
81
82         /*
83         * Sets the actualSourceImage names pair
84         * @param thekeyName The key name asigned to the actual outline  
85         * @param theRealName The real name asigned to the actual outline
86         */
87         void setActualSourceImageNamesWrapp(std::string thekeyName, std::string theRealName);
88
89         /*
90         * Sets the actualSectionImage names pair
91         * @param thekeyName The key name asigned to the actual outline  
92         * @param theRealName The real name asigned to the actual outline
93         */
94         void setActualSectionImageNamesWrapp(std::string thekeyName, std::string theRealName);
95         
96         /*
97         * Cleans the vector and the information of the instant members wrapping
98         */
99         void clean();
100
101 //------------------------------------------------------------------------------------------------------------
102 // Constants
103 //------------------------------------------------------------------------------------------------------------
104
105 private:        
106 //------------------------------------------------------------------------------------------------------------
107 // Attributes
108 //------------------------------------------------------------------------------------------------------------
109
110         std::vector<NameWrapper *> outlinesNamesVector;
111
112         std::vector<std::string> axesNamesVector;
113
114         NameWrapper * actualAxeNamesWrapp;
115
116         NameWrapper * actualSourceImageNamesWrapp;
117
118         NameWrapper * actualSectionImageNamesWrapp;
119
120         NameWrapper * actualOutlineNamesWrapp;
121 };
122 #endif