mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-13 18:20:34 +05:00
Approche brute force laborieuse. On va tenter l'approche MEDmemFileOpen
This commit is contained in:
parent
10cad68d7e
commit
550cf0575e
@ -346,6 +346,7 @@ namespace
|
||||
|
||||
Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
|
||||
{
|
||||
PerformMedcoupling();
|
||||
MED::PWrapper myMed = CrWrapperW(myFile, myVersion);
|
||||
return this->PerformInternal<MED::PWrapper>(myMed);
|
||||
}
|
||||
|
@ -64,9 +64,20 @@ void MCTWrapper::SetNodeInfo(const TNodeInfo& theInfo)
|
||||
MED::TInt aNbElem(anInfo.myNbElem);
|
||||
std::string aCoordNames(anInfo.myCoordNames.data());
|
||||
std::string aCoordUnits(anInfo.myCoordUnits.data());
|
||||
std::vector<std::string> comps( DataArray::SplitStringInChuncks(aCoordNames,MED_SNAME_SIZE) );
|
||||
std::vector<std::string> units( DataArray::SplitStringInChuncks(aCoordUnits,MED_SNAME_SIZE) );
|
||||
std::size_t nbComps( comps.size() );
|
||||
if( nbComps != units.size() )
|
||||
THROW_IK_EXCEPTION("MCTWrapper::SetNodeInfo : mismatch length " << nbComps << " != " << units.size() << " !");
|
||||
std::vector<std::string> compUnits(nbComps);
|
||||
for( std::size_t i = 0 ; i < nbComps ; ++i )
|
||||
{
|
||||
compUnits[i] = DataArray::BuildInfoFromVarAndUnit(comps[i],units[i]) ;
|
||||
}
|
||||
_coords = DataArrayDouble::New();
|
||||
_coords->alloc(aNbElem,this->_space_dim);
|
||||
std::copy(aCoord->data(),aCoord->data()+aNbElem*this->_space_dim,_coords->getPointer());
|
||||
_coords->setInfoOnComponents(compUnits);
|
||||
}
|
||||
|
||||
void MCTWrapper::GetFamilyInfo(TInt theFamId, TFamilyInfo& theInfo)
|
||||
@ -75,3 +86,127 @@ void MCTWrapper::GetFamilyInfo(TInt theFamId, TFamilyInfo& theInfo)
|
||||
MED::TInt aFamilyId(theInfo.myId);
|
||||
std::string aGroupNames(theInfo.myGroupNames.data());
|
||||
}
|
||||
|
||||
//copie
|
||||
PFamilyInfo
|
||||
MCTWrapper::CrFamilyInfo(const PMeshInfo& theMeshInfo,
|
||||
const std::string& theValue,
|
||||
TInt theId,
|
||||
const MED::TStringSet& theGroupNames,
|
||||
const MED::TStringVector& theAttrDescs,
|
||||
const MED::TIntVector& theAttrIds,
|
||||
const MED::TIntVector& theAttrVals)
|
||||
{
|
||||
return PFamilyInfo(new TTFamilyInfo
|
||||
(theMeshInfo,
|
||||
theValue,
|
||||
theId,
|
||||
theGroupNames,
|
||||
theAttrDescs,
|
||||
theAttrIds,
|
||||
theAttrVals));
|
||||
}
|
||||
|
||||
//copie
|
||||
PPolygoneInfo
|
||||
MCTWrapper::CrPolygoneInfo(const PMeshInfo& theMeshInfo,
|
||||
EEntiteMaillage theEntity,
|
||||
EGeometrieElement theGeom,
|
||||
TInt theNbElem,
|
||||
TInt theConnSize,
|
||||
EConnectivite theConnMode,
|
||||
EBooleen theIsElemNum,
|
||||
EBooleen theIsElemNames)
|
||||
{
|
||||
return PPolygoneInfo(new TTPolygoneInfo
|
||||
(theMeshInfo,
|
||||
theEntity,
|
||||
theGeom,
|
||||
theNbElem,
|
||||
theConnSize,
|
||||
theConnMode,
|
||||
theIsElemNum,
|
||||
theIsElemNames));
|
||||
}
|
||||
|
||||
//copie
|
||||
PPolygoneInfo
|
||||
MCTWrapper
|
||||
::CrPolygoneInfo(const PMeshInfo& theMeshInfo,
|
||||
EEntiteMaillage theEntity,
|
||||
EGeometrieElement theGeom,
|
||||
const TIntVector& theIndexes,
|
||||
const TIntVector& theConnectivities,
|
||||
EConnectivite theConnMode,
|
||||
const TIntVector& theFamilyNums,
|
||||
const TIntVector& theElemNums,
|
||||
const TStringVector& theElemNames)
|
||||
{
|
||||
return PPolygoneInfo(new TTPolygoneInfo
|
||||
(theMeshInfo,
|
||||
theEntity,
|
||||
theGeom,
|
||||
theIndexes,
|
||||
theConnectivities,
|
||||
theConnMode,
|
||||
theFamilyNums,
|
||||
theElemNums,
|
||||
theElemNames));
|
||||
}
|
||||
|
||||
//copie
|
||||
PPolyedreInfo
|
||||
MCTWrapper
|
||||
::CrPolyedreInfo(const PMeshInfo& theMeshInfo,
|
||||
EEntiteMaillage theEntity,
|
||||
EGeometrieElement theGeom,
|
||||
TInt theNbElem,
|
||||
TInt theNbFaces,
|
||||
TInt theConnSize,
|
||||
EConnectivite theConnMode,
|
||||
EBooleen theIsElemNum,
|
||||
EBooleen theIsElemNames)
|
||||
{
|
||||
return PPolyedreInfo(new TTPolyedreInfo
|
||||
(theMeshInfo,
|
||||
theEntity,
|
||||
theGeom,
|
||||
theNbElem,
|
||||
theNbFaces,
|
||||
theConnSize,
|
||||
theConnMode,
|
||||
theIsElemNum,
|
||||
theIsElemNames));
|
||||
}
|
||||
|
||||
//copie
|
||||
PBallInfo
|
||||
MCTWrapper
|
||||
::CrBallInfo(const PMeshInfo& theMeshInfo,
|
||||
TInt theNbBalls,
|
||||
EBooleen theIsElemNum)
|
||||
{
|
||||
return PBallInfo(new TTBallInfo(theMeshInfo, theNbBalls, theIsElemNum));
|
||||
}
|
||||
|
||||
PCellInfo
|
||||
MCTWrapper
|
||||
::CrCellInfo(const PMeshInfo& theMeshInfo,
|
||||
EEntiteMaillage theEntity,
|
||||
EGeometrieElement theGeom,
|
||||
TInt theNbElem,
|
||||
EConnectivite theConnMode,
|
||||
EBooleen theIsElemNum,
|
||||
EBooleen theIsElemNames,
|
||||
EModeSwitch theMode)
|
||||
{
|
||||
return PCellInfo(new TTCellInfo
|
||||
(theMeshInfo,
|
||||
theEntity,
|
||||
theGeom,
|
||||
theNbElem,
|
||||
theConnMode,
|
||||
theIsElemNum,
|
||||
theIsElemNames,
|
||||
theMode));
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ namespace MED
|
||||
const TStringSet& theGroupNames,
|
||||
const TStringVector& theAttrDescs = TStringVector(),
|
||||
const TIntVector& theAttrIds = TIntVector(),
|
||||
const TIntVector& theAttrVals = TIntVector()) { }
|
||||
const TIntVector& theAttrVals = TIntVector());
|
||||
|
||||
//! Create a MEDWrapper MED Polygones representation
|
||||
virtual
|
||||
@ -73,7 +73,7 @@ namespace MED
|
||||
TInt theConnSize,
|
||||
EConnectivite theConnMode = eNOD,
|
||||
EBooleen theIsElemNum = eVRAI,
|
||||
EBooleen theIsElemNames = eVRAI) { }
|
||||
EBooleen theIsElemNames = eVRAI);
|
||||
|
||||
//! Create a MEDWrapper MED Polygones representation
|
||||
virtual
|
||||
@ -86,7 +86,7 @@ namespace MED
|
||||
EConnectivite theConnMode = eNOD,
|
||||
const TIntVector& theFamilyNums = TIntVector(),
|
||||
const TIntVector& theElemNums = TIntVector(),
|
||||
const TStringVector& theElemNames = TStringVector()) { }
|
||||
const TStringVector& theElemNames = TStringVector());
|
||||
|
||||
|
||||
//! Write a MEDWrapper MED Polygones representation into the MED file
|
||||
@ -103,7 +103,7 @@ namespace MED
|
||||
TInt theConnSize,
|
||||
EConnectivite theConnMode = eNOD,
|
||||
EBooleen theIsElemNum = eVRAI,
|
||||
EBooleen theIsElemNames = eVRAI) { }
|
||||
EBooleen theIsElemNames = eVRAI);
|
||||
|
||||
|
||||
//! Write a MEDWrapper MED Polyedres representation into the MED file
|
||||
|
Loading…
Reference in New Issue
Block a user