]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx
Salome HOME
To provide compatibility between VTK 4.2.2, 4.2.6 & 4.4 versions
[modules/smesh.git] / src / DriverUNV / DriverUNV_W_SMDS_Mesh.cxx
index 4e75a762fc8e559a51244dcd10c4e605cbeb318a..b5b4dc7693896f372e18a266530bd3c72ebbdaaa 100644 (file)
@@ -23,7 +23,7 @@
 
 #include "SMDS_Mesh.hxx"
 #include "SMESHDS_GroupBase.hxx"
-#include "SMESH_Group.hxx"
+//#include "SMESH_Group.hxx"
 #include "SMDS_QuadraticEdge.hxx"
 #include "SMDS_QuadraticFaceOfNodes.hxx"
 
@@ -225,6 +225,45 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
       UNV2412::Write(out_stream,aDataSet2412);
     }
     {
+      using namespace UNV2417;
+      cout << "### MyGroups size " << myGroups.size() << endl;
+      if (myGroups.size() > 0) {
+       TDataSet aDataSet2417;
+       TGroupList::const_iterator aIter = myGroups.begin();
+       for (; aIter != myGroups.end(); aIter++) {
+         SMESHDS_GroupBase* aGroupDS = *aIter;
+         TRecord aRec;
+         aRec.GroupName = aGroupDS->GetStoreName();
+         cout << "### GrName = "<<aRec.GroupName<<endl;
+         cout << "### GrSize = "<<aGroupDS->Extent()<<endl;
+         cout << "### GrType = "<<aGroupDS->GetType()<<endl;
+
+         int i;
+         SMDS_ElemIteratorPtr aIter = aGroupDS->GetElements();
+         if (aGroupDS->GetType() == SMDSAbs_Node) {
+           aRec.NodeList.resize(aGroupDS->Extent());
+           i = 0;
+           while (aIter->more()) {
+             const SMDS_MeshElement* aElem = aIter->next();
+             aRec.NodeList[i] = aElem->GetID(); 
+             i++;
+           }
+         } else {
+           aRec.ElementList.resize(aGroupDS->Extent());
+           i = 0;
+           while (aIter->more()) {
+             const SMDS_MeshElement* aElem = aIter->next();
+             aRec.ElementList[i] = aElem->GetID(); 
+             i++;
+           }
+         }
+         aDataSet2417.insert(TDataSet::value_type(aGroupDS->GetID(), aRec));
+       }
+       UNV2417::Write(out_stream,aDataSet2417);
+       myGroups.clear();
+      }
+    }
+    /*    {
       using namespace UNV2417;
       TDataSet aDataSet2417;
       for ( TGroupsMap::iterator it = myGroupsMap.begin(); it != myGroupsMap.end(); it++ ) {
@@ -256,7 +295,7 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
        }
       }
       UNV2417::Write(out_stream,aDataSet2417);
-    }
+      }*/
   }
   catch(const std::exception& exc){
     INFOS("Follow exception was cought:\n\t"<<exc.what());