#include <vector>
#include <list>
-//#include "MEDMEM_Support.hxx"
#include "MEDMEM_Family.hxx"
-class FAMILY;
-class GROUP : public SUPPORT
+/*!
+
+ This class describe a group of elements on an entity./n
+ It inherits from SUPPORT./n
+ It is a blending of some FAMILY class./n/n
+
+*/
+
+namespace MEDMEM {
+class FAMILY;
+class GROUP : virtual public SUPPORT
{
protected :
- /*! Number of families in the group */
+ /*!
+ \if developper
+ Number of families in the group.
+ \endif
+ */
int _numberOfFamilies ;
- /*! Vector of families in the group */
+ /*!
+ \if developper
+ Vector of families in the group.
+ Note that Families are numbered from 1 to N.
+ \endif
+ */
vector<FAMILY*> _family ;
public:
+ /*! Constructor. */
GROUP();
- GROUP(const string & name, const list<FAMILY*> & family);
- ~GROUP();
+ /*! Constructor. */
+ GROUP(const string & name, const list<FAMILY*> & family) throw (MEDEXCEPTION) ;
+ /*! Copy Constructor. */
+ GROUP(const GROUP & m);
+ /*! Destructor. */
+ virtual ~GROUP();
+
+ /*! Copy operator. */
+ // PN ATTention il n y a pas de copie du vecteur Family ????
GROUP & operator=(const GROUP &group);
-
+
+ /*! Operator << */
+ friend ostream & operator<<(ostream &os, GROUP &my) ;
+
inline void setNumberOfFamilies(int numberOfFamilies);
inline void setFamilies(vector<FAMILY*> Family);
inline vector<FAMILY*> getFamilies() const ;
inline FAMILY * getFamily(int i) const ;
- void init(const list<FAMILY*> & family);
+};
};
// inline method :
+using namespace MEDMEM;
/*! set the attribut _numberOfFamilies to numberOfFamilies */
//----------------------------------------------------------