{
Engines::ListOfData_var aResult = new Engines::ListOfData;
- if (myImportStudyId == 0 || !myImportedStudyChanged) {
- MESSAGE("Study is not changed")
+ if (!myImportedStudyChanged) {
+ INFOS("SMESH module data was not changed")
return aResult._retn();
}
std::string aFullPath(Kernel_Utils::GetTmpFileName());
aFullPath += ".med";
- DriverMED_W_SMESHDS_Mesh aWriter;
- aWriter.SetFile(aFullPath.c_str());
StudyContext* myStudyContext = GetCurrentStudyContext();
SALOMEDS::ChildIterator_var anIter = aStudy->NewChildIterator(aComponent); // check only published meshes
if(!aCORBAMesh->_is_nil()) {
SMESH_Mesh_i* myImpl = dynamic_cast<SMESH_Mesh_i*>(GetServant(aCORBAMesh).in());
if (myImpl) {
- CORBA::String_var objStr = GetORB()->object_to_string(anObj);
- int id = myStudyContext->findId(string(objStr.in()));
- SMESHDS_Mesh* mySMESHDSMesh = myImpl->GetImpl().GetMeshDS();
- if (mySMESHDSMesh->NbNodes() > 0) {
- // write mesh data to med file
- aWriter.SetMesh(mySMESHDSMesh);
- aWriter.SetMeshId(id);
- aNumMeshes++;
- } else {
- MESSAGE("Mesh has zero nodes and can not be exported");
- }
+ myImpl->Load();
+ SMESH_Mesh& aMesh = myImpl->GetImpl();
+ CORBA::String_var objName = aSO->GetName();
+ aMesh.ExportMED(aFullPath.c_str(), objName.in(), false, MED::eV2_2, 0);
+ aNumMeshes++;
}
}
}
}
- if (aNumMeshes > 0) { // compund is correct, write it to the temporary file
- MESSAGE("Write "<<aNumMeshes<<" meshes to "<<aFullPath.c_str());
- aWriter.Perform();
+ if (aNumMeshes > 0) { // prepare a container to store files
+ INFOS("Write "<<aNumMeshes<<" meshes to "<<aFullPath.c_str());
aResult->length(1);
Engines::DataContainer_var aData = (new Engines_DataContainer_i(
aFullPath.c_str(), "", "", true))->_this();