//---------------------------------------------------------------
- typedef std::map<vtkIdType,PGaussSubMesh> TGeom2GaussSubMesh;
+ typedef std::vector<PGaussSubMeshImpl> TGaussSubMeshArr;
+ typedef std::map<vtkIdType,PGaussSubMeshImpl> TGeom2GaussSubMesh;
struct TGaussMeshImpl: virtual TGaussMesh, virtual TAppendFilter
{
TGaussMeshImpl();
+ TGaussSubMeshArr myGaussSubMeshArr;
TGeom2GaussSubMesh myGeom2GaussSubMesh;
};
typedef SharedPtr<TGaussMeshImpl> PGaussMeshImpl;
}else{
PMEDGaussMesh aGaussMesh(new TMEDGaussMesh());
TGeom2GaussSubMesh& aGeom2GaussSubMesh = aGaussMesh->myGeom2GaussSubMesh;
-
- TGaussKey::const_iterator anIter = aGaussKey.begin();
- for(; anIter != aGaussKey.end(); anIter++){
- PMEDGaussSubMesh aGaussSubMesh(*anIter);
- PMEDGauss aGauss = aGaussSubMesh->myGauss;
- vtkIdType aVGeom = aGauss->myGeom;
- aGeom2GaussSubMesh[aVGeom] = aGaussSubMesh;
+ {
+ TGaussKey::const_iterator anIter = aGaussKey.begin();
+ for(; anIter != aGaussKey.end(); anIter++){
+ PMEDGaussSubMesh aGaussSubMesh(*anIter);
+ PMEDGauss aGauss = aGaussSubMesh->myGauss;
+ vtkIdType aVGeom = aGauss->myGeom;
+ aGeom2GaussSubMesh[aVGeom] = aGaussSubMesh;
+ }
+ }
+ {
+ TGaussSubMeshArr& aGaussSubMeshArr = aGaussMesh->myGaussSubMeshArr;
+ aGaussSubMeshArr.resize(aGeom2GaussSubMesh.size());
+ TGeom2GaussSubMesh::const_iterator anIter = aGeom2GaussSubMesh.begin();
+ for(TInt anID = 0; anIter != aGeom2GaussSubMesh.end(); anIter++, anID++){
+ const PGaussSubMeshImpl& aGaussSubMesh = anIter->second;
+ aGaussSubMeshArr[anID] = aGaussSubMesh;
+ }
}
aGaussMeshMap[aGaussKey] = aGaussMesh;
theValForTime.myGaussMesh = aGaussMesh;