mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-15 05:30:33 +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()
|
Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
|
||||||
{
|
{
|
||||||
|
PerformMedcoupling();
|
||||||
MED::PWrapper myMed = CrWrapperW(myFile, myVersion);
|
MED::PWrapper myMed = CrWrapperW(myFile, myVersion);
|
||||||
return this->PerformInternal<MED::PWrapper>(myMed);
|
return this->PerformInternal<MED::PWrapper>(myMed);
|
||||||
}
|
}
|
||||||
|
@ -64,9 +64,20 @@ void MCTWrapper::SetNodeInfo(const TNodeInfo& theInfo)
|
|||||||
MED::TInt aNbElem(anInfo.myNbElem);
|
MED::TInt aNbElem(anInfo.myNbElem);
|
||||||
std::string aCoordNames(anInfo.myCoordNames.data());
|
std::string aCoordNames(anInfo.myCoordNames.data());
|
||||||
std::string aCoordUnits(anInfo.myCoordUnits.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 = DataArrayDouble::New();
|
||||||
_coords->alloc(aNbElem,this->_space_dim);
|
_coords->alloc(aNbElem,this->_space_dim);
|
||||||
std::copy(aCoord->data(),aCoord->data()+aNbElem*this->_space_dim,_coords->getPointer());
|
std::copy(aCoord->data(),aCoord->data()+aNbElem*this->_space_dim,_coords->getPointer());
|
||||||
|
_coords->setInfoOnComponents(compUnits);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MCTWrapper::GetFamilyInfo(TInt theFamId, TFamilyInfo& theInfo)
|
void MCTWrapper::GetFamilyInfo(TInt theFamId, TFamilyInfo& theInfo)
|
||||||
@ -75,3 +86,127 @@ void MCTWrapper::GetFamilyInfo(TInt theFamId, TFamilyInfo& theInfo)
|
|||||||
MED::TInt aFamilyId(theInfo.myId);
|
MED::TInt aFamilyId(theInfo.myId);
|
||||||
std::string aGroupNames(theInfo.myGroupNames.data());
|
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 TStringSet& theGroupNames,
|
||||||
const TStringVector& theAttrDescs = TStringVector(),
|
const TStringVector& theAttrDescs = TStringVector(),
|
||||||
const TIntVector& theAttrIds = TIntVector(),
|
const TIntVector& theAttrIds = TIntVector(),
|
||||||
const TIntVector& theAttrVals = TIntVector()) { }
|
const TIntVector& theAttrVals = TIntVector());
|
||||||
|
|
||||||
//! Create a MEDWrapper MED Polygones representation
|
//! Create a MEDWrapper MED Polygones representation
|
||||||
virtual
|
virtual
|
||||||
@ -73,7 +73,7 @@ namespace MED
|
|||||||
TInt theConnSize,
|
TInt theConnSize,
|
||||||
EConnectivite theConnMode = eNOD,
|
EConnectivite theConnMode = eNOD,
|
||||||
EBooleen theIsElemNum = eVRAI,
|
EBooleen theIsElemNum = eVRAI,
|
||||||
EBooleen theIsElemNames = eVRAI) { }
|
EBooleen theIsElemNames = eVRAI);
|
||||||
|
|
||||||
//! Create a MEDWrapper MED Polygones representation
|
//! Create a MEDWrapper MED Polygones representation
|
||||||
virtual
|
virtual
|
||||||
@ -86,7 +86,7 @@ namespace MED
|
|||||||
EConnectivite theConnMode = eNOD,
|
EConnectivite theConnMode = eNOD,
|
||||||
const TIntVector& theFamilyNums = TIntVector(),
|
const TIntVector& theFamilyNums = TIntVector(),
|
||||||
const TIntVector& theElemNums = TIntVector(),
|
const TIntVector& theElemNums = TIntVector(),
|
||||||
const TStringVector& theElemNames = TStringVector()) { }
|
const TStringVector& theElemNames = TStringVector());
|
||||||
|
|
||||||
|
|
||||||
//! Write a MEDWrapper MED Polygones representation into the MED file
|
//! Write a MEDWrapper MED Polygones representation into the MED file
|
||||||
@ -103,7 +103,7 @@ namespace MED
|
|||||||
TInt theConnSize,
|
TInt theConnSize,
|
||||||
EConnectivite theConnMode = eNOD,
|
EConnectivite theConnMode = eNOD,
|
||||||
EBooleen theIsElemNum = eVRAI,
|
EBooleen theIsElemNum = eVRAI,
|
||||||
EBooleen theIsElemNames = eVRAI) { }
|
EBooleen theIsElemNames = eVRAI);
|
||||||
|
|
||||||
|
|
||||||
//! Write a MEDWrapper MED Polyedres representation into the MED file
|
//! Write a MEDWrapper MED Polyedres representation into the MED file
|
||||||
|
Loading…
Reference in New Issue
Block a user