Salome HOME
Version ok de MED avec MEDGUI.
[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);
27   ~GROUP();
28   GROUP & operator=(const GROUP &group);
29   
30   inline void setNumberOfFamilies(int numberOfFamilies);
31   inline void setFamilies(vector<FAMILY*> Family);
32   
33   inline int             getNumberOfFamilies() const ;
34   inline vector<FAMILY*> getFamilies() const ;
35   inline FAMILY *        getFamily(int i) const ;
36
37   void init(const list<FAMILY*> & family);
38 };
39
40 // inline method :
41
42 /*! set the attribut _numberOfFamilies to numberOfFamilies */
43 //----------------------------------------------------------
44 inline void GROUP::setNumberOfFamilies(int numberOfFamilies) 
45 //----------------------------------------------------------
46 {
47   _numberOfFamilies = numberOfFamilies; 
48 };
49
50
51 /*! set the attribut _family to Family              */
52 //----------------------------------------------------
53 inline void GROUP::setFamilies(vector<FAMILY*> Family) 
54 //----------------------------------------------------
55
56   _family = Family; 
57 };
58
59 /*! returns number of families in the group */
60 //--------------------------------------------
61 inline int GROUP::getNumberOfFamilies() const        
62 //-------------------------------------------
63
64   return _numberOfFamilies; 
65 };
66
67 /*! returns the vector of families in the group */
68 //------------------------------------------------
69 inline vector<FAMILY*> GROUP::getFamilies() const 
70 //------------------------------------------------
71
72   return _family; 
73 };
74
75 /*! returns  a reference on family I of the group */
76 //--------------------------------------------------
77 FAMILY * GROUP::getFamily(int i) const   
78 //--------------------------------------------------
79
80   return _family[i-1]; 
81 };
82
83
84 #endif /* GROUP_HXX */