- if(_myDField)
- typ = _myDField->getSupport()->getEntity();
- else
- typ = _myIField->getSupport()->getEntity();
-
- // create support on nodes
- SUPPORT *sup = new SUPPORT(_mesh,"Support",MED_NODE);
-
- // create integer field on nodes
- _criteria = new FIELD<int>(sup,1);
-
- _criteria->setName("Criteria");
-
- // read number of nodes
- int NumberOf = sup->getNumberOfElements(MED_ALL_ELEMENTS);
-
- for (int i=1; i<NumberOf+1; i++){
-
- // if reference field is on elements get reference field on nodes
- switch(typ){
- case MED_CELL:
- throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on cells");
- break;
- case MED_FACE:
- throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on faces");
- break;
- case MED_EDGE:
- throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on edges");
- break;
- case MED_NODE:
- // read reference field value
- switch(rf){
- case F_FIELD:
- if(_myDField)
- val = _myDField->getValueIJ(i,1);
- else
- val = (double)_myIField->getValueIJ(i,1);
+ try{
+ if(_myDField)
+ typ = _myDField->getSupport()->getEntity();
+ else
+ typ = _myIField->getSupport()->getEntity();
+
+ // create support on nodes
+ SUPPORT *sup = new SUPPORT(_mesh,"Support",MED_NODE);
+
+ // create integer field on nodes
+ _criteria = new FIELD<int>(sup,1);
+
+ _criteria->setName("Criteria");
+
+ // read number of nodes
+ int NumberOf = sup->getNumberOfElements(MED_ALL_ELEMENTS);
+
+ for (int i=1; i<NumberOf+1; i++){
+
+ // if reference field is on elements get reference field on nodes
+ switch(typ){
+ case MED_CELL:
+ throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on cells");
+ break;
+ case MED_FACE:
+ throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on faces");
+ break;
+ case MED_EDGE:
+ throw SALOME_FILTER::FILTER_Gen::FilterError("Filter doesn't run on reference field on edges");