7 #include "MEDMEM_Group.hxx"
8 #include "MEDMEM_Family.hxx"
10 GROUP::GROUP():_numberOfFamilies(0),_family()
20 GROUP & GROUP::operator=(const GROUP &group)
22 MESSAGE("GROUP::operator=");
23 _numberOfFamilies = group._numberOfFamilies ;
24 _family = group._family ;
28 GROUP::GROUP(const string & name, const list<FAMILY*> & families)
30 const char * LOC = "GROUP( const string & , const list<FAMILY*> & ) : " ;
36 // description : none !
37 // first FAMILY to set all !
38 FAMILY * myFamily = families.front() ;
39 _mesh = myFamily->getMesh() ;
40 _entity = myFamily->getEntity() ;
41 _numberOfGeometricType = myFamily->getNumberOfTypes() ;
42 _geometricType = new medGeometryElement[_numberOfGeometricType];
43 //_geometricTypeNumber = new int[_numberOfGeometricType] ;
44 _numberOfGaussPoint = new int[_numberOfGeometricType] ;
45 _numberOfEntities = new int[_numberOfGeometricType] ;
46 medGeometryElement * geometricType = myFamily->getTypes() ;
47 //int * geometricTypeNumber = myFamily->getGeometricTypeNumber() ;
48 int * numberOfGaussPoint = myFamily->getNumberOfGaussPoint() ;
49 for (int i=0 ; i<_numberOfGeometricType; i++) {
50 _geometricType[i]= geometricType[i] ;
51 // _geometricTypeNumber[i] = geometricTypeNumber[i] ;
52 _numberOfGaussPoint[i] = numberOfGaussPoint[i] ;
53 _numberOfEntities[i]=myFamily->getNumberOfElements(geometricType[i]);
55 _isOnAllElts = false ;
56 _totalNumberOfEntities = myFamily->getNumberOfElements(MED_ALL_ELEMENTS) ;
57 _number = new MEDSKYLINEARRAY(*myFamily->getnumber()) ;
59 _numberOfFamilies = families.size();
60 _family.resize(_numberOfFamilies) ;
61 list<FAMILY*>::const_iterator li ;
63 for (li=families.begin();li!=families.end();li++) {
72 void GROUP::init(const list<FAMILY*> & families)
74 const char * LOC = "GROUP::init( const list<FAMILY*> & ) : " ;
78 FAMILY * myFamily = families.front() ;
79 _mesh = myFamily->getMesh() ;
80 _entity = myFamily->getEntity() ;
81 _numberOfGeometricType = myFamily->getNumberOfTypes() ;
82 _geometricType = new medGeometryElement[_numberOfGeometricType];
83 //_geometricTypeNumber = new int[_numberOfGeometricType] ;
84 _numberOfGaussPoint = new int[_numberOfGeometricType] ;
85 _numberOfEntities = new int[_numberOfGeometricType] ;
86 medGeometryElement * geometricType = myFamily->getTypes() ;
87 //int * geometricTypeNumber = myFamily->getGeometricTypeNumber() ;
88 int * numberOfGaussPoint = myFamily->getNumberOfGaussPoint() ;
89 for (int i=0 ; i<_numberOfGeometricType; i++) {
90 _geometricType[i]= geometricType[i] ;
91 // _geometricTypeNumber[i] = geometricTypeNumber[i] ;
92 _numberOfGaussPoint[i] = numberOfGaussPoint[i] ;
93 _numberOfEntities[i]=myFamily->getNumberOfElements(geometricType[i]);
95 _isOnAllElts = false ;
96 _totalNumberOfEntities = myFamily->getNumberOfElements(MED_ALL_ELEMENTS) ;
97 _number = new MEDSKYLINEARRAY(*myFamily->getnumber()) ;
99 _numberOfFamilies = families.size();
100 _family.resize(_numberOfFamilies) ;
101 list<FAMILY*>::const_iterator liIni = families.begin() ;
104 list<FAMILY*>::const_iterator li ;
106 for (li=liIni;li!=families.end();li++) {
108 _family[it] = (*li) ;