TFindMeshOnGroup aFindMeshOnGroup = FindMeshOnGroup(theMeshName,theGroupName);
PMeshImpl aMesh = boost::get<0>(aFindMeshOnGroup);
PGroupImpl aGroup = boost::get<1>(aFindMeshOnGroup);
- const VISU::TFamilySet& aFamilySet = aGroup->myFamilySet;
//Main part of code
- const TVTKSource& aSource = aGroup->GetSource();
+ const TVTKAppendFilter& anAppendFilter = aGroup->GetFilter();
#ifndef _DEXCEPT_
try{
#endif
if(!aGroup->myIsVTKDone){
+ const VISU::TFamilySet& aFamilySet = aGroup->myFamilySet;
LoadMeshOnGroup(aMesh,aFamilySet);
- GetPoints(aSource,aMesh);
- GetCellsOnGroup(aSource,aMesh,aFamilySet);
+
+ TFamilySet::const_iterator aFamilyIter = aFamilySet.begin();
+ for(; aFamilyIter != aFamilySet.end(); aFamilyIter++){
+ PFamilyImpl aFamily = *aFamilyIter;
+ const std::string& aFamilyName = aFamily->myName;
+ const VISU::TEntity& anEntity = aFamily->myEntity;
+ TOutput* anOutput = GetFamilyOnEntity(theMeshName,anEntity,aFamilyName);
+ anAppendFilter->AddInput(anOutput);
+ }
aGroup->myIsVTKDone = true;
std::string aGroupName = QString(theGroupName.c_str()).simplifyWhiteSpace().latin1();
std::string aFileName = string("/users/")+getenv("USER")+"/"+getenv("USER")+"-";
aFileName += aMeshName + "-" + aGroupName + "-Conv.vtk";
- VISU::WriteToFile(aSource.GetPointer(),aFileName);
+ VISU::WriteToFile(anAppendFilter->GetOutput(),aFileName);
}
}
#ifndef _DEXCEPT_
}
#endif
- return aSource.GetPointer();
+ return anAppendFilter->GetOutput();
}
//---------------------------------------------------------------
+ struct TSubMeshImpl: virtual TSource
+ {
+ TSubMeshID mySubMeshID;
+ };
+ typedef SharedPtr<TSubMeshImpl> PSubMeshImpl;
+
+
+ //---------------------------------------------------------------
+ typedef std::map<vtkIdType,TSubMeshID> TGeom2SubMeshID;
+
struct TFamilyImpl: virtual TFamily, virtual TSource
{
TGeom2SubMeshID myGeom2SubMeshID;
//---------------------------------------------------------------
- struct TGroupImpl: virtual TGroup, virtual TSource
+ struct TGroupImpl: virtual TGroup, virtual TAppendFilter, virtual TSizeCounter
{
};
typedef SharedPtr<TGroupImpl> PGroupImpl;