Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/med.git] / src / MEDMEM / MEDMEM_Group.hxx
1 /*
2  File Group.hxx
3  $Header$
4 */
5
6 #ifndef GROUP_HXX
7 #define GROUP_HXX
8
9 #include <vector>
10 #include <list>
11 //#include "MEDMEM_Support.hxx"
12 #include "MEDMEM_Family.hxx"
13
14 class FAMILY;
15
16 class GROUP : public SUPPORT
17 {
18 protected :
19                                   /*! Number of families in the group */
20   int             _numberOfFamilies ;
21                                   /*! Vector of families in the group */
22   vector<FAMILY*> _family ;
23   
24 public:
25   GROUP();
26   GROUP(const string & name, const list<FAMILY*> & family) throw (MEDEXCEPTION) ;
27   GROUP(GROUP & m);
28   ~GROUP();
29   GROUP & operator=(const GROUP &group);
30   
31   inline void setNumberOfFamilies(int numberOfFamilies);
32   inline void setFamilies(vector<FAMILY*> Family);
33   
34   inline int             getNumberOfFamilies() const ;
35   inline vector<FAMILY*> getFamilies() const ;
36   inline FAMILY *        getFamily(int i) const ;
37
38 //   void init(const list<FAMILY*> & family);
39 };
40
41 // inline method :
42
43 /*! set the attribut _numberOfFamilies to numberOfFamilies */
44 //----------------------------------------------------------
45 inline void GROUP::setNumberOfFamilies(int numberOfFamilies) 
46 //----------------------------------------------------------
47 {
48   _numberOfFamilies = numberOfFamilies; 
49 };
50
51
52 /*! set the attribut _family to Family              */
53 //----------------------------------------------------
54 inline void GROUP::setFamilies(vector<FAMILY*> Family) 
55 //----------------------------------------------------
56
57   _family = Family; 
58 };
59
60 /*! returns number of families in the group */
61 //--------------------------------------------
62 inline int GROUP::getNumberOfFamilies() const        
63 //-------------------------------------------
64
65   return _numberOfFamilies; 
66 };
67
68 /*! returns the vector of families in the group */
69 //------------------------------------------------
70 inline vector<FAMILY*> GROUP::getFamilies() const 
71 //------------------------------------------------
72
73   return _family; 
74 };
75
76 /*! returns  a reference on family I of the group */
77 //--------------------------------------------------
78 FAMILY * GROUP::getFamily(int i) const   
79 //--------------------------------------------------
80
81   return _family[i-1]; 
82 };
83
84
85 #endif /* GROUP_HXX */