if(myIsAll)
return myMeshOnEntity->GetElemObjID(theID);
- vtkIdType anInputID;
+ vtkIdType anInputID, aStartID, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType aID = anAppendFilter->GetCellInputID(theID,anInputID);
- PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputID];
- return aSubProfileImpl->GetElemObjID(aID);
+ anAppendFilter->GetCellInputID(theID,anInputID,aStartID,anInputDataSetID);
+ PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputDataSetID];
+ return aSubProfileImpl->GetElemObjID(anInputID);
}
vtkIdType
if(myIsAll)
return myMeshOnEntity->GetElemName(theObjID);
- vtkIdType anInputID;
vtkIdType aVTKId = GetElemVTKID(theObjID);
+ vtkIdType anInputID, aStartID, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType aSubID = anAppendFilter->GetCellInputID(aVTKId,anInputID);
- PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputID];
- vtkIdType anEntityObjId = aSubProfileImpl->GetElemObjID(aSubID);
+ anAppendFilter->GetCellInputID(aVTKId,anInputID,aStartID,anInputDataSetID);
+ PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputDataSetID];
+ vtkIdType anEntityObjId = aSubProfileImpl->GetElemObjID(anInputID);
return myMeshOnEntity->GetElemName(anEntityObjId);
}
TGaussPointID
TGaussSubMeshImpl
- ::GetObjID(vtkIdType theID) const
+ ::GetObjID(vtkIdType theID,
+ vtkIdType theStartID) const
{
- TCellID aCellID = theID / myGauss->myNbPoints;
+ TCellID aCellID = theStartID + theID / myGauss->myNbPoints;
TLocalPntID aLocalPntID = theID % myGauss->myNbPoints;
return TGaussPointID(aCellID,aLocalPntID);
TGaussMeshImpl
::GetObjID(vtkIdType theID) const
{
+ vtkIdType anInputID, aStartId, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType anInputDataSetID;
- vtkIdType anInputID = anAppendFilter->GetCellInputID(theID,anInputDataSetID);
+ anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
const TGaussSubMeshImpl& aSubMeshImpl = myGaussSubMeshArr[anInputDataSetID];
- return aSubMeshImpl.GetObjID(anInputID);
+ return aSubMeshImpl.GetObjID(anInputID,aStartId);
}
TVTKOutput*
TMeshOnEntityImpl
::GetElemObjID(vtkIdType theID) const
{
- vtkIdType anInputID;
+ vtkIdType anInputID, aStartId, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType aID = anAppendFilter->GetCellInputID(theID,anInputID);
- const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputID];
- return aSubMesh->GetElemObjID(aID);
+ anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
+ const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputDataSetID];
+ return aSubMesh->GetElemObjID(anInputID);
}
std::string
::GetElemName(vtkIdType theObjID) const
{
vtkIdType aVTKId = GetElemVTKID(theObjID);
- vtkIdType anInputID;
+ vtkIdType anInputID, aStartId, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType aSubID = anAppendFilter->GetCellInputID(aVTKId,anInputID);
- const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputID];
- return aSubMesh->GetElemName(aSubID);
+ anAppendFilter->GetCellInputID(aVTKId,anInputID,aStartId,anInputDataSetID);
+ const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputDataSetID];
+ return aSubMesh->GetElemName(anInputID);
}
//---------------------------------------------------------------
TGroupImpl
::GetElemObjID(vtkIdType theID) const
{
- vtkIdType anInputID;
+ vtkIdType anInputID, aStartId, anInputDataSetID;
const TVTKAppendFilter& anAppendFilter = GetFilter();
- vtkIdType anID = anAppendFilter->GetCellInputID(theID,anInputID);
- const PFamilyImpl& aFamily = myFamilyArr[anInputID];
- return aFamily->GetElemObjID(anID);
+ anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
+ const PFamilyImpl& aFamily = myFamilyArr[anInputDataSetID];
+ return aFamily->GetElemObjID(anInputID);
}
vtkIdType
//---------------------------------------------------------------
TGaussPointID
TMEDGaussSubMesh
- ::GetObjID(vtkIdType theID) const
+ ::GetObjID(vtkIdType theID,
+ vtkIdType theStartID) const
{
- TInt aNbPoints = myGauss->myNbPoints;
- TCellID aCellID = theID / aNbPoints;
+ TCellID aCellID = theID / myGauss->myNbPoints;
+ TLocalPntID aLocalPntID = theID % myGauss->myNbPoints;
+
if(myIsElemNum)
aCellID = myElemNum[aCellID];
-
- TLocalPntID aLocalPntID = theID % aNbPoints;
+ else
+ aCellID += theStartID;
return TGaussPointID(aCellID,aLocalPntID);
}
::Init(const MED::PElemInfo& theElemInfo)
{
myIsElemNum = theElemInfo->IsElemNum();
- myElemNum = theElemInfo->myElemNum;
+
+ if(myIsElemNum)
+ myElemNum = theElemInfo->myElemNum;
+
if(theElemInfo->IsElemNames())
myElemInfo = theElemInfo;
}