#include "DriverMED_Family.h"
#include <sstream>
+using namespace std;
+
//=============================================================================
/*!
* Split each group from list <aGroups> on some parts (families)
//=============================================================================
list<DriverMED_FamilyPtr> DriverMED_Family::MakeFamilies
(const map <int, SMESHDS_SubMesh*>& theSubMeshes,
- const list<SMESHDS_Group*>& theGroups,
+ const list<SMESHDS_GroupBase*>& theGroups,
const bool doGroupOfNodes,
const bool doGroupOfEdges,
const bool doGroupOfFaces,
map<int, SMESHDS_SubMesh*>::const_iterator aSMIter = theSubMeshes.begin();
for (; aSMIter != theSubMeshes.end(); aSMIter++)
{
+ if ( aSMIter->second->IsComplexSubmesh() )
+ continue; // submesh containing other submeshs
list<DriverMED_FamilyPtr> aSMFams = SplitByType((*aSMIter).second, (*aSMIter).first);
list<DriverMED_FamilyPtr>::iterator aSMFamsIter = aSMFams.begin();
for (; aSMFamsIter != aSMFams.end(); aSMFamsIter++)
}
// Process groups
- list<SMESHDS_Group*>::const_iterator aGroupsIter = theGroups.begin();
+ list<SMESHDS_GroupBase*>::const_iterator aGroupsIter = theGroups.begin();
for (; aGroupsIter != theGroups.end(); aGroupsIter++)
{
DriverMED_FamilyPtr aFam2 (new DriverMED_Family);
//=============================================================================
/*!
- * Initialize the tool by SMESHDS_Group
+ * Initialize the tool by SMESHDS_GroupBase
*/
//=============================================================================
-void DriverMED_Family::Init (SMESHDS_Group* group)
+void DriverMED_Family::Init (SMESHDS_GroupBase* theGroup)
{
// Elements
myElements.clear();
- group->InitIterator();
- while (group->More())
+ SMDS_ElemIteratorPtr elemIt = theGroup->GetElements();
+ while (elemIt->more())
{
- myElements.insert(group->Next());
+ myElements.insert(elemIt->next());
}
// Type
- myType = group->GetType();
+ myType = theGroup->GetType();
// Groups list
myGroupNames.clear();
- myGroupNames.insert(string(group->GetStoreName()));
+ myGroupNames.insert(string(theGroup->GetStoreName()));
}
//=============================================================================