Write a mesh to a MEDCoupling DS. More...
#include <DriverMED_W_SMESHDS_Mesh.h>
Public Types | |
enum | Status { DRS_OK , DRS_EMPTY , DRS_WARN_RENUMBER , DRS_WARN_SKIP_ELEM , DRS_WARN_DESCENDING , DRS_FAIL , DRS_TOO_LARGE_MESH } |
Public Member Functions | |
Status | Perform () override |
Write my mesh to a MEDCoupling DS. More... | |
MEDCoupling::MCAuto< MEDCoupling::DataArrayByte > | getData () |
void | SetFile (const std::string &theFileName, int theVersion=-1) |
Set a file name and a version. More... | |
virtual void | SetFile (const std::string &theFileName) |
void | SetAutoDimension (bool toFindOutDimension) |
void | SetZTolerance (double tol) |
void | SetSaveNumbers (bool toSave) |
void | AddGroupOfNodes () |
void | AddGroupOfEdges () |
void | AddGroupOfFaces () |
void | AddGroupOfVolumes () |
void | AddGroupOf0DElems () |
void | AddGroupOfBalls () |
void | AddGroup (SMESHDS_GroupBase *theGroup) |
functions to prepare adding one mesh More... | |
void | AddAllSubMeshes () |
void | AddSubMesh (SMESHDS_SubMesh *theSubMesh, int theID) |
void | AddODOnVertices (bool toAdd) |
template<class LowLevelWriter > | |
Driver_Mesh::Status | PerformInternal (LowLevelWriter myMed) |
Write my mesh. More... | |
void | SetMesh (SMESHDS_Mesh *theMesh) |
void | SetMeshId (int theMeshId) |
virtual void | SetMeshName (const std::string &theMeshName) |
virtual std::string | GetMeshName () const |
virtual void | SetOption (const std::string &, const std::string &) |
virtual SMESH_ComputeErrorPtr | GetError () |
Return a structure containing description of errors. More... | |
Static Public Member Functions | |
static std::string | GetVersionString (int theMinor, int theNbDigits=2) |
MED version is either the latest available, or with an inferior minor, to ensure backward compatibility on writing med files. More... | |
static bool | getNodesOfMissing0DOnVert (SMESHDS_Mesh *mesh, std::vector< const SMDS_MeshElement * > &nodes) |
Returns nodes on VERTEXes where 0D elements are absent. More... | |
template<typename IDTYPE > | |
static bool | IsMeshTooLarge (const SMDS_Mesh *mesh, bool checkIDs) |
Protected Member Functions | |
Status | addMessage (const std::string &msg, const bool isFatal=false) |
Stores an error message. More... | |
Static Protected Member Functions | |
static std::string | fixUTF8 (const std::string &s) |
Assure a string is UTF-8 valid by replacing invalid chars. More... | |
Protected Attributes | |
SMESHDS_Mesh * | myMesh |
std::string | myFile |
std::string | myMeshName |
int | myMeshId |
std::vector< std::string > | myErrorMessages |
Status | myStatus |
Private Attributes | |
MEDCoupling::MCAuto< MEDCoupling::DataArrayByte > | _data |
std::list< SMESHDS_GroupBase * > | myGroups |
bool | myAllSubMeshes |
std::vector< SMESHDS_SubMesh * > | mySubMeshes |
bool | myDoGroupOfNodes |
bool | myDoGroupOfEdges |
bool | myDoGroupOfFaces |
bool | myDoGroupOfVolumes |
bool | myDoGroupOf0DElems |
bool | myDoGroupOfBalls |
bool | myAutoDimension |
bool | myAddODOnVertices |
bool | myDoAllInGroups |
int | myVersion |
double | myZTolerance |
bool | mySaveNumbers |
Write a mesh to a MEDCoupling DS.
|
inherited |
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myAllSubMeshes.
|
inherited |
functions to prepare adding one mesh
References DriverMED_W_SMESHDS_Mesh::myGroups.
Referenced by SMESH_Mesh::exportMEDCommmon(), and SMESH_Gen_i::Save().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOf0DElems.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOfBalls.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOfEdges.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOfFaces.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOfNodes.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::myDoGroupOfVolumes.
Referenced by SMESH_Mesh::exportMEDCommmon().
|
protectedinherited |
Stores an error message.
We consider an error fatal if none mesh can be read
References Driver_Mesh::DRS_FAIL, Driver_Mesh::DRS_WARN_SKIP_ELEM, MESSAGE, Driver_Mesh::myErrorMessages, and Driver_Mesh::myStatus.
Referenced by DriverGMF_Read::Perform(), DriverGMF_Write::Perform(), DriverMED_W_Field::Perform(), DriverMED_W_Field::PerformInternal(), and DriverGMF_Read::storeBadNodeIds().
|
inherited |
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
References DriverMED_W_SMESHDS_Mesh::mySubMeshes.
|
staticprotectedinherited |
Assure a string is UTF-8 valid by replacing invalid chars.
MEDCoupling::MCAuto<MEDCoupling::DataArrayByte> DriverMED_W_SMESHDS_Mesh_Mem::getData | ( | ) |
Referenced by SMESH_Mesh::ExportMEDCoupling().
|
virtualinherited |
Return a structure containing description of errors.
References COMPERR_OK, Driver_Mesh::DRS_OK, Driver_Mesh::myErrorMessages, Driver_Mesh::myStatus, and SMESH_ComputeError::New().
Referenced by SMESH_Mesh::ExportCGNS(), SMESH_Mesh_i::exportMEDFields(), SMESH_Mesh::GMFToMesh(), and SMESH_Mesh::MEDToMesh().
|
virtualinherited |
References Driver_Mesh::myMeshName.
Referenced by SMESH_Mesh::CGNSToMesh().
|
staticinherited |
Returns nodes on VERTEXes where 0D elements are absent.
References SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::MeshElements(), SMDS_MeshNode::NbInverseElements(), and SMDSAbs_0DElement.
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal(), and DriverMED_W_Field::Set().
|
staticinherited |
MED version is either the latest available, or with an inferior minor, to ensure backward compatibility on writing med files.
Referenced by SMESH_Mesh_i::GetVersionString().
|
staticinherited |
|
overridevirtual |
Write my mesh to a MEDCoupling DS.
Reimplemented from DriverMED_W_SMESHDS_Mesh.
References _data, MED::CrWrapperW(), Driver_Mesh::DRS_OK, EXCEPTION, and Driver_Mesh::myFile.
|
inherited |
Write my mesh.
References MED::aXGetCoord, MED::aXYGetCoord, MED::aXYZGetCoord, MED::aXZGetCoord, MED::aYGetCoord, MED::aYZGetCoord, MED::aZGetCoord, SMDS_Mesh::DownCast(), Driver_Mesh::DRS_OK, Driver_Mesh::DRS_TOO_LARGE_MESH, MED::eARETE, MED::eBALL, MED::eCART, Edge, MED::eFACE, MED::eFAUX, MED::eFULL_INTERLACE, MED::eHEXA20, MED::eHEXA27, MED::eHEXA8, SMDS_Mesh::elementEntityIterator(), SMDS_Mesh::elementGeomIterator(), SMDS_Mesh::elementsIterator(), MED::eMAILLE, MED::eNOD, MED::eNOEUD_ELEMENT, MED::eOCTA12, MED::ePENTA15, MED::ePENTA18, MED::ePENTA6, MED::ePOINT1, MED::ePOLYEDRE, MED::ePOLYGON2, MED::ePOLYGONE, MED::ePYRA13, MED::ePYRA5, MED::eQUAD4, MED::eQUAD8, MED::eQUAD9, MED::eSEG2, MED::eSEG3, MED::eSTRUCT_ELEMENT, MED::eTETRA10, MED::eTETRA4, MED::eTRIA3, MED::eTRIA6, MED::eTRIA7, MED::eVRAI, Face, SMDS_MeshElement::GetID(), SMDS_Mesh::GetMeshInfo(), MED::GetNbNodes(), SMDS_MeshNode::GetNode(), SMDS_MeshElement::GetNode(), DriverMED_W_SMESHDS_Mesh::getNodesOfMissing0DOnVert(), SMDS_MeshElement::IsPoly(), DriverMED_Family::MakeFamilies(), SMDS_Mesh::MaxElementID(), DriverMED_W_SMESHDS_Mesh::myAddODOnVertices, DriverMED_W_SMESHDS_Mesh::myAllSubMeshes, DriverMED_W_SMESHDS_Mesh::myAutoDimension, DriverMED_W_SMESHDS_Mesh::myDoAllInGroups, DriverMED_W_SMESHDS_Mesh::myDoGroupOf0DElems, DriverMED_W_SMESHDS_Mesh::myDoGroupOfBalls, DriverMED_W_SMESHDS_Mesh::myDoGroupOfEdges, DriverMED_W_SMESHDS_Mesh::myDoGroupOfFaces, DriverMED_W_SMESHDS_Mesh::myDoGroupOfNodes, DriverMED_W_SMESHDS_Mesh::myDoGroupOfVolumes, DriverMED_W_SMESHDS_Mesh::myGroups, Driver_SMESHDS_Mesh::myMesh, Driver_Mesh::myMeshId, Driver_Mesh::myMeshName, DriverMED_W_SMESHDS_Mesh::mySaveNumbers, DriverMED_W_SMESHDS_Mesh::mySubMeshes, DriverMED_W_SMESHDS_Mesh::myZTolerance, SMDS_Mesh::Nb0DElements(), SMDS_MeshInfo::Nb0DElements(), SMDS_Mesh::NbBalls(), SMDS_MeshInfo::NbBalls(), SMDS_MeshInfo::NbBiQuadPrisms(), SMDS_MeshInfo::NbBiQuadQuadrangles(), SMDS_MeshInfo::NbBiQuadTriangles(), SMDS_Mesh::NbEdges(), SMDS_MeshInfo::NbEdges(), SMDS_MeshVolume::NbFaceNodes(), SMDS_Mesh::NbFaces(), SMDS_MeshVolume::NbFaces(), SMDS_MeshElement::NbFaces(), SMDS_MeshInfo::NbHexas(), SMDS_MeshInfo::NbHexPrisms(), SMDS_Mesh::NbNodes(), SMDS_MeshElement::NbNodes(), SMDS_MeshInfo::NbPolygons(), SMDS_MeshInfo::NbPolyhedrons(), SMDS_MeshInfo::NbPrisms(), SMDS_MeshInfo::NbPyramids(), SMDS_MeshInfo::NbQuadPrisms(), SMDS_MeshInfo::NbQuadrangles(), SMDS_MeshInfo::NbTetras(), SMDS_MeshInfo::NbTriangles(), SMDS_MeshInfo::NbTriQuadHexas(), SMDS_Mesh::NbVolumes(), NIG_0DELEM_FAMILY, NIG_BALL_FAMILY, NIG_EDGES_FAMILY, NIG_FACES_FAMILY, NIG_VOLS_FAMILY, SMDS_Mesh::nodesIterator(), SMDS_MeshElement::nodesIterator(), ORDER_LINEAR, ORDER_QUADRATIC, REST_0DELEM_FAMILY, REST_BALL_FAMILY, REST_EDGES_FAMILY, REST_FACES_FAMILY, REST_NODES_FAMILY, REST_VOLUMES_FAMILY, SMESHDS_Mesh::ShapeToMesh(), SMDSAbs_0DElement, SMDSAbs_Ball, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_NbElementTypes, SMDSAbs_Node, SMDSAbs_Volume, SMDSEntity_Polygon, SMDSEntity_Quad_Polygon, SMDSGeom_POLYHEDRA, SMESHDS_Mesh::SubMeshes(), SMESHDS_Mesh::SubMeshIndices(), SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
|
inherited |
Referenced by SMESH_Mesh::exportMEDCommmon().
|
virtualinherited |
References Driver_Mesh::myFile.
Referenced by SMESH_Mesh::CGNSToMesh(), SMESH_Gen_i::CreateMeshesFromCGNS(), SMESH_Gen_i::CreateMeshesFromMED(), SMESH_Mesh::ExportCGNS(), SMESH_Mesh::ExportDAT(), MEDFileSpeCls::exportField(), SMESH_Mesh::ExportGMF(), SMESH_Mesh::ExportSTL(), SMESH_Mesh::ExportUNV(), SMESH_PreMeshInfo::FullLoadFromFile(), MG_ADAPT::MgAdapt::getCommandToRun(), GetMGLicenseKeyImpl(), SMESH_Mesh::GMFToMesh(), SMESH_Mesh::MEDToMesh(), DriverMED_W_SMESHDS_Mesh::SetFile(), SMESH_Mesh::STLToMesh(), and SMESH_Mesh::UNVToMesh().
|
inherited |
Set a file name and a version.
[in] | theFileName | - output file name |
[in] | theVersion | - desired MED file version == major * 10 + minor |
References DriverMED_W_SMESHDS_Mesh::myVersion, and Driver_Mesh::SetFile().
Referenced by SMESH_Mesh::ExportMED(), and SMESH_Gen_i::Save().
|
inherited |
References Driver_SMESHDS_Mesh::myMesh.
Referenced by SMESH_Mesh::CGNSToMesh(), SMESH_Mesh::ExportCGNS(), SMESH_Mesh::ExportGMF(), SMESH_Mesh::exportMEDCommmon(), SMESH_PreMeshInfo::FullLoadFromFile(), SMESH_Mesh::GMFToMesh(), SMESH_Mesh::MEDToMesh(), SMESH_Gen_i::Save(), and DriverMED_W_Field::Set().
|
inherited |
References Driver_Mesh::myMeshId.
Referenced by SMESH_Mesh::CGNSToMesh(), SMESH_Gen_i::CreateMeshesFromMED(), SMESH_Mesh::ExportDAT(), SMESH_Mesh::exportMEDCommmon(), SMESH_Mesh::ExportSTL(), SMESH_Mesh::ExportUNV(), SMESH_PreMeshInfo::FullLoadFromFile(), SMESH_Mesh::MEDToMesh(), SMESH_Gen_i::Save(), SMESH_Mesh::STLToMesh(), and SMESH_Mesh::UNVToMesh().
|
virtualinherited |
References Driver_Mesh::myMeshName.
Referenced by SMESH_Mesh::ExportCGNS(), MEDFileSpeCls::exportField(), MEDFileMemSpeCls::exportField(), and SMESH_Mesh::exportMEDCommmon().
|
virtualinherited |
|
inherited |
Referenced by SMESH_Mesh::exportMEDCommmon().
|
inherited |
Referenced by SMESH_Mesh::exportMEDCommmon().
|
private |
Referenced by Perform().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
privateinherited |
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
protectedinherited |
Referenced by Driver_Mesh::addMessage(), and Driver_Mesh::GetError().
|
protectedinherited |
Referenced by DriverGMF_Read::GetMeshInfo(), DriverGMF_Read::Perform(), DriverGMF_Write::Perform(), DriverSTL_R_SMDS_Mesh::Perform(), DriverMED_W_Field::Perform(), DriverMED_W_Field_Mem::Perform(), DriverMED_W_SMESHDS_Mesh::Perform(), Perform(), DriverSTL_R_SMDS_Mesh::readAscii(), Driver_Mesh::SetFile(), DriverSTL_W_SMDS_Mesh::writeAscii(), and DriverSTL_W_SMDS_Mesh::writeBinary().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::AddGroup(), and DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
protectedinherited |
Referenced by DriverGMF_Write::elementIterator(), DriverMED_W_Field::GetOrderedElems(), DriverGMF_Read::Perform(), DriverGMF_Write::Perform(), DriverMED_W_SMESHDS_Mesh::PerformInternal(), DriverMED_W_Field::PerformInternal(), DriverMED_W_Field::Set(), Driver_SMESHDS_Mesh::SetMesh(), and DriverGMF_Read::storeBadNodeIds().
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
protectedinherited |
Referenced by Driver_Mesh::addMessage(), Driver_Mesh::GetError(), and DriverGMF_Read::storeBadNodeIds().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::AddSubMesh(), and DriverMED_W_SMESHDS_Mesh::PerformInternal().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::Perform(), and DriverMED_W_SMESHDS_Mesh::SetFile().
|
privateinherited |
Referenced by DriverMED_W_SMESHDS_Mesh::PerformInternal().