3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
29 #ifndef MED_TStructures_HeaderFile
30 #define MED_TStructures_HeaderFile
32 #include "MED_Structures.hxx"
36 //---------------------------------------------------------------
37 template<EVersion eVersion>
38 struct TTNameInfo: virtual TNameInfo
40 TTNameInfo(const std::string& theValue)
42 myName.resize(GetNOMLength<eVersion>()+1);
50 return GetString(0,GetNOMLength<eVersion>(),myName);
55 SetName(const std::string& theValue)
57 SetString(0,GetNOMLength<eVersion>(),myName,theValue);
62 //---------------------------------------------------------------
63 template<EVersion eVersion>
66 virtual TTNameInfo<eVersion>
68 typedef TTNameInfo<eVersion> TNameInfoBase;
70 TTMeshInfo(const PMeshInfo& theInfo):
71 TNameInfoBase(theInfo->GetName())
73 myDim = theInfo->GetDim();
74 myType = theInfo->GetType();
76 myDesc.resize(GetDESCLength<eVersion>()+1);
77 SetDesc(theInfo->GetDesc());
80 TTMeshInfo(TInt theDim,
81 const std::string& theValue,
83 const std::string& theDesc):
84 TNameInfoBase(theValue)
89 myDesc.resize(GetDESCLength<eVersion>()+1);
97 return GetString(0,GetDESCLength<eVersion>(),myDesc);
102 SetDesc(const std::string& theValue)
104 SetString(0,GetDESCLength<eVersion>(),myDesc,theValue);
109 //---------------------------------------------------------------
110 template<EVersion eVersion>
113 virtual TTNameInfo<eVersion>
115 typedef TTNameInfo<eVersion> TNameInfoBase;
117 TTFamilyInfo(const PMeshInfo& theMeshInfo, const PFamilyInfo& theInfo):
118 TNameInfoBase(theInfo->GetName())
120 myMeshInfo = theMeshInfo;
122 myId = theInfo->GetId();
124 myNbGroup = theInfo->GetNbGroup();
125 myGroupNames.resize(myNbGroup*GetLNOMLength<eVersion>()+1);
127 for(TInt anId = 0; anId < myNbGroup; anId++){
128 SetGroupName(anId,theInfo->GetGroupName(anId));
132 myNbAttr = theInfo->GetNbAttr();
133 myAttrId.resize(myNbAttr);
134 myAttrVal.resize(myNbAttr);
135 myAttrDesc.resize(myNbAttr*GetDESCLength<eVersion>()+1);
137 for(TInt anId = 0; anId < myNbAttr; anId++){
138 SetAttrDesc(anId,theInfo->GetAttrDesc(anId));
139 myAttrVal[anId] = theInfo->GetAttrVal(anId);
140 myAttrId[anId] = theInfo->GetAttrId(anId);
145 TTFamilyInfo(const PMeshInfo& theMeshInfo,
149 const std::string& theValue):
150 TNameInfoBase(theValue)
152 myMeshInfo = theMeshInfo;
156 myNbGroup = theNbGroup;
157 myGroupNames.resize(theNbGroup*GetLNOMLength<eVersion>()+1);
159 myNbAttr = theNbAttr;
160 myAttrId.resize(theNbAttr);
161 myAttrVal.resize(theNbAttr);
162 myAttrDesc.resize(theNbAttr*GetDESCLength<eVersion>()+1);
165 TTFamilyInfo(const PMeshInfo& theMeshInfo,
166 const std::string& theValue,
168 const TStringSet& theGroupNames,
169 const TStringVector& theAttrDescs,
170 const TIntVector& theAttrIds,
171 const TIntVector& theAttrVals):
172 TNameInfoBase(theValue)
174 myMeshInfo = theMeshInfo;
178 myNbGroup = theGroupNames.size();
179 myGroupNames.resize(myNbGroup*GetLNOMLength<eVersion>()+1);
181 TStringSet::const_iterator anIter = theGroupNames.begin();
182 for(TInt anId = 0; anIter != theGroupNames.end(); anIter++, anId++){
183 const std::string& aVal = *anIter;
184 SetGroupName(anId,aVal);
188 myNbAttr = theAttrDescs.size();
189 myAttrId.resize(myNbAttr);
190 myAttrVal.resize(myNbAttr);
191 myAttrDesc.resize(myNbAttr*GetDESCLength<eVersion>()+1);
193 for(TInt anId = 0, anEnd = theAttrDescs.size(); anId < anEnd; anId++){
194 SetAttrDesc(anId,theAttrDescs[anId]);
195 myAttrVal[anId] = theAttrVals[anId];
196 myAttrId[anId] = theAttrIds[anId];
203 GetGroupName(TInt theId) const
205 return GetString(theId,GetLNOMLength<eVersion>(),myGroupNames);
210 SetGroupName(TInt theId, const std::string& theValue)
212 SetString(theId,GetLNOMLength<eVersion>(),myGroupNames,theValue);
217 GetAttrDesc(TInt theId) const
219 return GetString(theId,GetDESCLength<eVersion>(),myAttrDesc);
224 SetAttrDesc(TInt theId, const std::string& theValue)
226 SetString(theId,GetDESCLength<eVersion>(),myAttrDesc,theValue);
231 //---------------------------------------------------------------
232 template<EVersion eVersion>
233 struct TTElemInfo: virtual TElemInfo
235 TTElemInfo(const PMeshInfo& theMeshInfo, const PElemInfo& theInfo)
237 myMeshInfo = theMeshInfo;
239 myNbElem = theInfo->GetNbElem();
240 myFamNum.resize(myNbElem);
242 myIsElemNum = theInfo->IsElemNum();
243 myElemNum.resize(myIsElemNum == eFAUX? 0: myNbElem);
245 myIsElemNames = theInfo->IsElemNames();
246 myElemNames.resize(myNbElem*GetPNOMLength<eVersion>()+1);
249 for(TInt anId = 0; anId < myNbElem; anId++){
250 myFamNum[anId] = theInfo->GetFamNum(anId);
252 if(myIsElemNum == eVRAI){
253 for(TInt anId = 0; anId < myNbElem; anId++){
254 myElemNum[anId] = theInfo->GetElemNum(anId);
257 if(myIsElemNames == eVRAI){
258 for(TInt anId = 0; anId < myNbElem; anId++){
259 SetElemName(anId,theInfo->GetElemName(anId));
265 TTElemInfo(const PMeshInfo& theMeshInfo,
267 EBooleen theIsElemNum,
268 EBooleen theIsElemNames)
270 myMeshInfo = theMeshInfo;
272 myNbElem = theNbElem;
273 myFamNum.resize(theNbElem);
275 myIsElemNum = theIsElemNum;
277 myElemNum.resize(theNbElem);
279 myIsElemNames = theIsElemNames;
281 myElemNames.resize(theNbElem*GetPNOMLength<eVersion>()+1);
284 TTElemInfo(const PMeshInfo& theMeshInfo,
286 const TIntVector& theFamilyNums,
287 const TIntVector& theElemNums,
288 const TStringVector& theElemNames)
290 myMeshInfo = theMeshInfo;
292 myNbElem = theNbElem;
294 myIsElemNum = theElemNums.size()? eVRAI: eFAUX;
296 myElemNum.resize(theNbElem);
298 myIsElemNames = theElemNames.size()? eVRAI: eFAUX;
300 myElemNames.resize(theNbElem*GetPNOMLength<eVersion>()+1);
304 myFamNum.resize(theNbElem);
305 if(theFamilyNums.size())
306 myFamNum = theFamilyNums;
309 myElemNum = theElemNums;
312 for(TInt anId = 0; anId < theNbElem; anId++){
313 const std::string& aVal = theElemNames[anId];
314 SetElemName(anId,aVal);
322 GetElemName(TInt theId) const
324 return GetString(theId,GetPNOMLength<eVersion>(),myElemNames);
329 SetElemName(TInt theId, const std::string& theValue)
331 SetString(theId,GetPNOMLength<eVersion>(),myElemNames,theValue);
336 //---------------------------------------------------------------
337 template<EVersion eVersion>
340 virtual TTElemInfo<eVersion>
342 typedef TTElemInfo<eVersion> TElemInfoBase;
344 TTNodeInfo(const PMeshInfo& theMeshInfo, const PNodeInfo& theInfo):
345 TElemInfoBase(theMeshInfo,theInfo),
348 myModeSwitch = theInfo->GetModeSwitch();
350 mySystem = theInfo->GetSystem();
352 myCoord = theInfo->myCoord;
354 TInt aDim = theMeshInfo->GetDim();
356 myCoordNames.resize(aDim*GetPNOMLength<eVersion>()+1);
357 for(TInt anId = 0; anId < aDim; anId++)
358 SetCoordName(anId,theInfo->GetCoordName(anId));
360 myCoordUnits.resize(aDim*GetPNOMLength<eVersion>()+1);
361 for(TInt anId = 0; anId < aDim; anId++)
362 SetCoordUnit(anId,theInfo->GetCoordUnit(anId));
365 TTNodeInfo(const PMeshInfo& theMeshInfo,
369 EBooleen theIsElemNum,
370 EBooleen theIsElemNames):
371 TElemInfoBase(theMeshInfo,
375 TModeSwitchInfo(theMode)
377 mySystem = theSystem;
379 myCoord.resize(theNbElem*theMeshInfo->myDim);
382 myCoordUnits.resize(theMeshInfo->myDim*GetPNOMLength<eVersion>()+1);
385 myCoordNames.resize(theMeshInfo->myDim*GetPNOMLength<eVersion>()+1);
389 TTNodeInfo(const PMeshInfo& theMeshInfo,
390 const TFloatVector& theNodeCoords,
393 const TStringVector& theCoordNames,
394 const TStringVector& theCoordUnits,
395 const TIntVector& theFamilyNums,
396 const TIntVector& theElemNums,
397 const TStringVector& theElemNames):
398 TElemInfoBase(theMeshInfo,
399 theNodeCoords.size()/theMeshInfo->GetDim(),
403 TModeSwitchInfo(theMode)
405 mySystem = theSystem;
407 myCoord = theNodeCoords;
409 TInt aDim = theMeshInfo->GetDim();
411 myCoordNames.resize(aDim*GetPNOMLength<eVersion>()+1);
412 if(!theCoordNames.empty())
413 for(TInt anId = 0; anId < aDim; anId++)
414 SetCoordName(anId,theCoordNames[anId]);
416 myCoordUnits.resize(aDim*GetPNOMLength<eVersion>()+1);
417 if(!theCoordUnits.empty())
418 for(TInt anId = 0; anId < aDim; anId++)
419 SetCoordUnit(anId,theCoordUnits[anId]);
424 GetCoordName(TInt theId) const
426 return GetString(theId,GetPNOMLength<eVersion>(),myCoordNames);
431 SetCoordName(TInt theId, const std::string& theValue)
433 SetString(theId,GetPNOMLength<eVersion>(),myCoordNames,theValue);
438 GetCoordUnit(TInt theId) const
440 return GetString(theId,GetPNOMLength<eVersion>(),myCoordUnits);
445 SetCoordUnit(TInt theId, const std::string& theValue)
447 SetString(theId,GetPNOMLength<eVersion>(),myCoordUnits,theValue);
451 //---------------------------------------------------------------
452 template<EVersion eVersion>
453 struct TTPolygoneInfo:
454 virtual TPolygoneInfo,
455 virtual TTElemInfo<eVersion>
457 typedef TTElemInfo<eVersion> TElemInfoBase;
459 TTPolygoneInfo(const PMeshInfo& theMeshInfo, const PPolygoneInfo& theInfo):
460 TElemInfoBase(theMeshInfo,theInfo)
462 myEntity = theInfo->GetEntity();
463 myGeom = theInfo->GetGeom();
465 myIndex = theInfo->myIndex;
466 myConn = theInfo->myConn;
468 myConnMode = theInfo->GetConnMode();
471 TTPolygoneInfo(const PMeshInfo& theMeshInfo,
472 EEntiteMaillage theEntity,
473 EGeometrieElement theGeom,
476 EConnectivite theConnMode,
477 EBooleen theIsElemNum,
478 EBooleen theIsElemNames):
479 TElemInfoBase(theMeshInfo,
484 myEntity = theEntity;
487 myIndex.resize(theNbElem+1);
488 myConn.resize(theConnSize);
490 myConnMode = theConnMode;
493 TTPolygoneInfo(const PMeshInfo& theMeshInfo,
494 EEntiteMaillage theEntity,
495 EGeometrieElement theGeom,
496 const TIntVector& theIndexes,
497 const TIntVector& theConnectivities,
498 EConnectivite theConnMode,
499 const TIntVector& theFamilyNums,
500 const TIntVector& theElemNums,
501 const TStringVector& theElemNames):
502 TElemInfoBase(theMeshInfo,
503 theIndexes.size() - 1,
508 myEntity = theEntity;
511 myIndex = theIndexes;
512 myConn = theConnectivities;
514 myConnMode = theConnMode;
518 //---------------------------------------------------------------
519 template<EVersion eVersion>
520 struct TTPolyedreInfo:
521 virtual TPolyedreInfo,
522 virtual TTElemInfo<eVersion>
524 typedef TTElemInfo<eVersion> TElemInfoBase;
526 TTPolyedreInfo(const PMeshInfo& theMeshInfo, const PPolyedreInfo& theInfo):
527 TElemInfoBase(theMeshInfo,theInfo)
529 myEntity = theInfo->GetEntity();
530 myGeom = theInfo->GetGeom();
532 myIndex = theInfo->myIndex;
533 myFaces = theInfo->myFaces;
534 myConn = theInfo->myConn;
536 myConnMode = theInfo->GetConnMode();
539 TTPolyedreInfo(const PMeshInfo& theMeshInfo,
540 EEntiteMaillage theEntity,
541 EGeometrieElement theGeom,
545 EConnectivite theConnMode,
546 EBooleen theIsElemNum,
547 EBooleen theIsElemNames):
548 TElemInfoBase(theMeshInfo,
553 myEntity = theEntity;
556 myIndex.resize(theNbElem + 1);
557 myFaces.resize(theNbFaces);
558 myConn.resize(theConnSize);
560 myConnMode = theConnMode;
563 TTPolyedreInfo(const PMeshInfo& theMeshInfo,
564 EEntiteMaillage theEntity,
565 EGeometrieElement theGeom,
566 const TIntVector& theIndexes,
567 const TIntVector& theFaces,
568 const TIntVector& theConnectivities,
569 EConnectivite theConnMode,
570 const TIntVector& theFamilyNums,
571 const TIntVector& theElemNums,
572 const TStringVector& theElemNames):
573 TElemInfoBase(theMeshInfo,
579 myEntity = theEntity;
582 myIndex = theIndexes;
584 myConn = theConnectivities;
586 myConnMode = theConnMode;
590 //---------------------------------------------------------------
591 template<EVersion eVersion>
594 virtual TTElemInfo<eVersion>
596 typedef TTElemInfo<eVersion> TElemInfoBase;
598 TTCellInfo(const PMeshInfo& theMeshInfo, const PCellInfo& theInfo):
599 TElemInfoBase(theMeshInfo,theInfo)
601 myEntity = theInfo->GetEntity();
602 myGeom = theInfo->GetGeom();
603 myConnMode = theInfo->GetConnMode();
605 TInt aConnDim = GetNbNodes(myGeom);
606 myConn.resize(myNbElem*GetNbConn<eVersion>(myGeom,myEntity,myMeshInfo->myDim));
607 for(TInt anElemId = 0; anElemId < myNbElem; anElemId++){
608 TConnSlice aConnSlice = GetConnSlice(anElemId);
609 TCConnSlice aConnSlice2 = theInfo->GetConnSlice(anElemId);
610 for(TInt anConnId = 0; anConnId < aConnDim; anConnId++){
611 aConnSlice[anConnId] = aConnSlice2[anConnId];
616 TTCellInfo(const PMeshInfo& theMeshInfo,
617 EEntiteMaillage theEntity,
618 EGeometrieElement theGeom,
620 EConnectivite theConnMode,
621 EBooleen theIsElemNum,
622 EBooleen theIsElemNames,
623 EModeSwitch theMode):
624 TElemInfoBase(theMeshInfo,
628 TModeSwitchInfo(theMode)
630 myEntity = theEntity;
633 myConnMode = theConnMode;
634 myConn.resize(theNbElem*GetNbConn<eVersion>(theGeom,myEntity,theMeshInfo->myDim));
637 TTCellInfo(const PMeshInfo& theMeshInfo,
638 EEntiteMaillage theEntity,
639 EGeometrieElement theGeom,
640 const TIntVector& theConnectivities,
641 EConnectivite theConnMode,
642 const TIntVector& theFamilyNums,
643 const TIntVector& theElemNums,
644 const TStringVector& theElemNames,
645 EModeSwitch theMode):
646 TElemInfoBase(theMeshInfo,
647 theConnectivities.size()/GetNbNodes(theGeom),
651 TModeSwitchInfo(theMode)
653 myEntity = theEntity;
656 myConnMode = theConnMode;
657 TInt aConnDim = GetNbNodes(myGeom);
658 myConn.resize(myNbElem*GetNbConn<eVersion>(myGeom,myEntity,myMeshInfo->myDim));
659 for(TInt anElemId = 0; anElemId < myNbElem; anElemId++){
660 TConnSlice aConnSlice = GetConnSlice(anElemId);
661 for(TInt anConnId = 0; anConnId < aConnDim; anConnId++){
662 aConnSlice[anConnId] = theConnectivities[anElemId*aConnDim+anConnId];
672 return GetNbConn<eVersion>(myGeom,myEntity,myMeshInfo->myDim);
678 //---------------------------------------------------------------
679 template<EVersion eVersion>
682 virtual TTNameInfo<eVersion>
684 typedef TTNameInfo<eVersion> TNameInfoBase;
686 TTFieldInfo(const PMeshInfo& theMeshInfo, const PFieldInfo& theInfo):
687 TNameInfoBase(theInfo->GetName())
689 myMeshInfo = theMeshInfo;
691 myNbComp = theInfo->GetNbComp();
692 myCompNames.resize(myNbComp*GetPNOMLength<eVersion>()+1);
693 for(TInt anId = 0; anId < myNbComp; anId++){
694 SetCompName(anId,theInfo->GetCompName(anId));
697 myUnitNames.resize(myNbComp*GetPNOMLength<eVersion>()+1);
698 for(TInt anId = 0; anId < myNbComp; anId++){
699 SetUnitName(anId,theInfo->GetUnitName(anId));
702 myType = theInfo->GetType();
704 myIsLocal = theInfo->GetIsLocal();
705 myNbRef = theInfo->GetNbRef();
708 TTFieldInfo(const PMeshInfo& theMeshInfo,
711 const std::string& theValue,
714 TNameInfoBase(theValue)
716 myMeshInfo = theMeshInfo;
718 myNbComp = theNbComp;
719 myCompNames.resize(theNbComp*GetPNOMLength<eVersion>()+1);
720 myUnitNames.resize(theNbComp*GetPNOMLength<eVersion>()+1);
724 myIsLocal = theIsLocal;
730 GetCompName(TInt theId) const
732 return GetString(theId,GetPNOMLength<eVersion>(),myCompNames);
737 SetCompName(TInt theId, const std::string& theValue)
739 SetString(theId,GetPNOMLength<eVersion>(),myCompNames,theValue);
744 GetUnitName(TInt theId) const
746 return GetString(theId,GetPNOMLength<eVersion>(),myUnitNames);
751 SetUnitName(TInt theId, const std::string& theValue)
753 SetString(theId,GetPNOMLength<eVersion>(),myUnitNames,theValue);
758 //---------------------------------------------------------------
759 template<EVersion eVersion>
762 virtual TTNameInfo<eVersion>
764 typedef TTNameInfo<eVersion> TNameInfoBase;
766 TTGaussInfo(const TGaussInfo::TInfo& theInfo,
767 EModeSwitch theMode):
768 TNameInfoBase(boost::get<1>(boost::get<0>(theInfo))),
769 TModeSwitchInfo(theMode)
771 const TGaussInfo::TKey& aKey = boost::get<0>(theInfo);
773 myGeom = boost::get<0>(aKey);
774 myRefCoord.resize(GetNbRef()*GetDim());
776 TInt aNbGauss = boost::get<1>(theInfo);
777 myGaussCoord.resize(aNbGauss*GetDim());
778 myWeight.resize(aNbGauss);
783 //---------------------------------------------------------------
784 template<EVersion eVersion>
785 struct TTTimeStampInfo: virtual TTimeStampInfo
787 TTTimeStampInfo(const PFieldInfo& theFieldInfo, const PTimeStampInfo& theInfo)
789 myFieldInfo = theFieldInfo;
791 myEntity = theInfo->GetEntity();
792 myGeom2Size = theInfo->GetGeom2Size();
794 myNumDt = theInfo->GetNumDt();
795 myNumOrd = theInfo->GetNumOrd();
796 myDt = theInfo->GetDt();
798 myUnitDt.resize(GetPNOMLength<eVersion>()+1);
799 SetUnitDt(theInfo->GetUnitDt());
801 myGeom2NbGauss = theInfo->myGeom2NbGauss;
802 myGeom2Gauss = theInfo->GetGeom2Gauss();
805 TTTimeStampInfo(const PFieldInfo& theFieldInfo,
806 EEntiteMaillage theEntity,
807 const TGeom2Size& theGeom2Size,
808 const TGeom2NbGauss& theGeom2NbGauss,
812 const std::string& theUnitDt,
813 const TGeom2Gauss& theGeom2Gauss)
815 myFieldInfo = theFieldInfo;
817 myEntity = theEntity;
818 myGeom2Size = theGeom2Size;
824 myUnitDt.resize(GetPNOMLength<eVersion>()+1);
825 SetUnitDt(theUnitDt);
827 myGeom2NbGauss = theGeom2NbGauss;
828 myGeom2Gauss = theGeom2Gauss;
835 return GetString(0,GetPNOMLength<eVersion>(),myUnitDt);
840 SetUnitDt(const std::string& theValue)
842 SetString(0,GetPNOMLength<eVersion>(),myUnitDt,theValue);
847 //---------------------------------------------------------------
848 template<EVersion eVersion>
849 struct TTProfileInfo:
850 virtual TProfileInfo,
851 virtual TTNameInfo<eVersion>
853 typedef TTNameInfo<eVersion> TNameInfoBase;
855 TTProfileInfo(const TProfileInfo::TInfo& theInfo,
856 EModeProfil theMode):
857 TNameInfoBase(boost::get<0>(theInfo))
859 TInt aSize = boost::get<1>(theInfo);
860 myElemNum.resize(aSize);
861 myMode = aSize > 0? theMode: eNO_PFLMOD;
866 //---------------------------------------------------------------
867 template<EVersion eVersion>
868 struct TTTimeStampVal: virtual TTimeStampVal
870 TTTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
871 const PTimeStampVal& theInfo)
873 myTimeStampInfo = theTimeStampInfo;
875 myGeom2Profile = theInfo->GetGeom2Profile();
877 myGeom2Value = theInfo->myGeom2Value;
880 TTTimeStampVal(const PTimeStampInfo& theTimeStampInfo,
881 const TGeom2Profile& theGeom2Profile,
882 EModeSwitch theMode):
883 TModeSwitchInfo(theMode)
885 myTimeStampInfo = theTimeStampInfo;
887 myGeom2Profile = theGeom2Profile;
889 TInt aNbComp = theTimeStampInfo->myFieldInfo->myNbComp;
891 const TGeom2Size& aGeom2Size = theTimeStampInfo->myGeom2Size;
892 TGeom2Size::const_iterator anIter = aGeom2Size.begin();
893 for(; anIter != aGeom2Size.end(); anIter++){
894 const EGeometrieElement& aGeom = anIter->first;
895 TInt aNbElem = anIter->second;
897 MED::PProfileInfo aProfileInfo;
898 MED::TGeom2Profile::const_iterator anIter = theGeom2Profile.find(aGeom);
899 if(anIter != theGeom2Profile.end())
900 aProfileInfo = anIter->second;
902 if(aProfileInfo && aProfileInfo->IsPresent())
903 aNbElem = aProfileInfo->GetSize();
905 TInt aNbGauss = theTimeStampInfo->GetNbGauss(aGeom);
907 TMeshValue& aMeshValue = GetMeshValue(aGeom);
908 aMeshValue.Init(aNbElem,aNbGauss,aNbComp);