#include "VISU_Result_i.hh"
-#include "VISU_Prs3d_i.hh"
-#include "VISU_ViewManager_i.hh"
-
#include "VISU_Convertor_impl.hxx"
#include "VISU_CorbaMedConvertor.hxx"
#include "VISU_PipeLine.hxx"
-#include "VISU_Actor.h"
-
-//#include "SVTK_ViewWindow.h"
-
-//#include "QAD_Desktop.h"
-//#include "QAD_Application.h"
-//#include "QAD_Study.h"
-//#include "QAD_StudyFrame.h"
-//#include "QAD_RightFrame.h"
#include "SUIT_ResourceMgr.h"
+
#include "SALOMEDS_Tool.hxx"
#include "HDFascii.hxx"
+// QT Includes
#include <qstring.h>
#include <qfileinfo.h>
-#include <memory>
-#include <fstream>
-//#include <set>
-
-#include <vtkUnstructuredGridReader.h>
-#include <vtkUnstructuredGridWriter.h>
+// VTK Includes
#include <vtkCell.h>
+#include <vtkUnstructuredGrid.h>
-#include <gp_Pnt.hxx>
-#include <gp_Vec.hxx>
+// OCCT Includes
#include <Bnd_Box.hxx>
using namespace VISU;
static int MYDEBUG = 0;
#endif
-VISU::Result_var VISU::FindResult(SALOMEDS::SObject_ptr theSObject){
+VISU::Result_var VISU::FindResult (SALOMEDS::SObject_ptr theSObject)
+{
SALOMEDS::SComponent_var aSComponent = theSObject->GetFatherComponent();
SALOMEDS::SObject_var aFather = theSObject->GetFather();
- CORBA::String_var aComponentID(aSComponent->GetID());
- CORBA::String_var aFatherID(aFather->GetID());
+ CORBA::String_var aComponentID (aSComponent->GetID());
+ CORBA::String_var aFatherID (aFather->GetID());
VISU::Result_var aResult;
- while(strcmp(aComponentID,aFatherID) != 0){
+ while (strcmp(aComponentID, aFatherID) != 0) {
CORBA::Object_var anObject = VISU::SObjectToObject(aFather);
- if(!CORBA::is_nil(anObject)){
+ if (!CORBA::is_nil(anObject)) {
aResult = VISU::Result::_narrow(anObject);
- if(!aResult->_is_nil()) return aResult;
+ if (!aResult->_is_nil()) return aResult;
}
aFather = aFather->GetFather();
+ aFatherID = aFather->GetID();
}
return aResult;
}
-QString GenerateName(const char* theName){
+QString GenerateName (const char* theName)
+{
typedef map<string,int> TNameMap;
static TNameMap aMap;
TNameMap::const_iterator i = aMap.find(theName);
QString tmp;
- if(i == aMap.end()) {
+ if (i == aMap.end()) {
aMap[theName] = 0;
tmp = theName;
- }else{
+ } else {
tmp = VISU::GenerateName(theName,++aMap[theName]);
}
if(MYDEBUG) MESSAGE("GenerateName - "<<tmp<<" from - "<<theName<<"; " <<aMap[theName]);
return tmp;
}
-QString GenerateFieldName(const string& theName, const string& theUnits){
+QString GenerateFieldName (const string& theName, const string& theUnits)
+{
static QString aName;
- const string tmp(theUnits.size(),' ');
- if(theUnits == "" || theUnits == tmp)
+ const string tmp (theUnits.size(),' ');
+ if (theUnits == "" || theUnits == tmp)
aName.sprintf("%s, -",theName.c_str());
else
aName.sprintf("%s, %s",theName.c_str(),theUnits.c_str());
return aName.latin1();
}
-void CreateReference(SALOMEDS::Study_ptr theStudyDocument,
- const string& theFatherEntry, const string& theRefEntry)
+void CreateReference (SALOMEDS::Study_ptr theStudyDocument,
+ const string& theFatherEntry, const string& theRefEntry)
{
SALOMEDS::StudyBuilder_var aStudyBuilder = theStudyDocument->NewBuilder();
SALOMEDS::SObject_var aFather = theStudyDocument->FindObjectID(theFatherEntry.c_str());
string GetComponentDataType (SALOMEDS::SObject_ptr theSObject)
{
- SALOMEDS::Study_var aStudy = theSObject->GetStudy();
SALOMEDS::SComponent_var aCompRefSObj = theSObject->GetFatherComponent();
CORBA::String_var aDataType = aCompRefSObj->ComponentDataType();
return aDataType.in();
const string VISU::Result_i::myComment = "RESULT";
const char* VISU::Result_i::GetComment() const { return myComment.c_str();}
-VISU::Result_i::Result_i(SALOMEDS::Study_ptr theStudy,
- const ESourceId& theSourceId,
- const ECreationId& theCreationId):
+VISU::Result_i::Result_i (SALOMEDS::Study_ptr theStudy,
+ const ESourceId& theSourceId,
+ const ECreationId& theCreationId):
myStudyDocument(SALOMEDS::Study::_duplicate(theStudy)),
myCreationId(theCreationId),
mySourceId(theSourceId),
VISU::Result_i::
Build(SALOMEDS::SObject_ptr theSObject)
{
+ if(MYDEBUG) MESSAGE("Result_i::Build");
+
SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder();
aStudyBuilder->NewCommand(); // There is a transaction
- if(MYDEBUG) MESSAGE("Result_i::Build");
- try{
+
+ try {
const TMeshMap& aMeshMap = myInput->GetMeshMap();
- if(aMeshMap.empty())
+ if (aMeshMap.empty())
throw std::runtime_error("Build - There is no any mesh information in the file !!!");
+
mySComponent = FindOrCreateVisuComponent(myStudyDocument);
CORBA::String_var aSComponentEntry = mySComponent->GetID(), anIOR(GetID());
string aRefFatherEntry = GetRefFatherEntry();
+
QString aComment;
aComment.sprintf("myComment=%s;myType=%d;myFileName=%s;myInitFileName=%s",
- GetComment(),
- VISU::TRESULT,
- myFileInfo.filePath().latin1(),
+ GetComment(), VISU::TRESULT, myFileInfo.filePath().latin1(),
myInitFileName.c_str()); // Restoring of Python dump
string aResultEntry =
- CreateAttributes(myStudyDocument,
- aSComponentEntry,
- aRefFatherEntry.c_str(),
- anIOR,
- myName.c_str(),
- "",
- aComment.latin1(),
- true);
+ CreateAttributes(myStudyDocument, aSComponentEntry, aRefFatherEntry.c_str(),
+ anIOR, myName.c_str(), "", aComment.latin1(), true);
+
mySObject = myStudyDocument->FindObjectID(aResultEntry.c_str());
- if(mySObject->_is_nil()) throw std::runtime_error("Build - There is no SObject for the Result !!!");
- if(!CORBA::is_nil(theSObject)){
+ if (mySObject->_is_nil())
+ throw std::runtime_error("Build - There is no SObject for the Result !!!");
+
+ if (!CORBA::is_nil(theSObject)) {
CORBA::String_var aString = theSObject->GetID();
- CreateReference(myStudyDocument,aResultEntry,aString.in());
+ CreateReference(myStudyDocument, aResultEntry, aString.in());
}
+
TMeshMap::const_iterator aMeshMapIter = aMeshMap.begin();
- for(; aMeshMapIter != aMeshMap.end(); aMeshMapIter++){
+ for (; aMeshMapIter != aMeshMap.end(); aMeshMapIter++) {
const string& aMeshName = aMeshMapIter->first;
const VISU::PMesh aMesh = aMeshMapIter->second;
- const VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap;
- VISU::TMeshOnEntityMap::const_iterator aMeshOnEntityMapIter;
aComment.sprintf("myComment=MESH;myName=%s;myDim=%d",
- aMeshName.c_str(),aMesh->myDim);
- string aMeshEntry = CreateAttributes(myStudyDocument,aResultEntry.c_str(),aRefFatherEntry.c_str(),
- "",aMeshName.c_str(),"",aComment.latin1(),true);
- if(aMeshOnEntityMap.empty()) continue;
- aComment.sprintf("myComment=FAMILIES;myMeshName=%s",aMeshName.c_str());
- string aSubMeshesEntry = CreateAttributes(myStudyDocument,aMeshEntry.c_str(),aRefFatherEntry.c_str(),
- "","Families","",aComment.latin1(),true);
+ aMeshName.c_str(), aMesh->myDim);
+ string aMeshEntry =
+ CreateAttributes(myStudyDocument, aResultEntry.c_str(), aRefFatherEntry.c_str(),
+ "", aMeshName.c_str(), "", aComment.latin1(), true);
+
+ const VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap;
+ if (aMeshOnEntityMap.empty()) continue;
+
+ aComment.sprintf("myComment=FAMILIES;myMeshName=%s", aMeshName.c_str());
+ string aSubMeshesEntry =
+ CreateAttributes(myStudyDocument, aMeshEntry.c_str(), aRefFatherEntry.c_str(),
+ "", "Families", "", aComment.latin1(), true);
+
//Import entities and according families
- aMeshOnEntityMapIter = aMeshOnEntityMap.begin();
typedef std::map<std::string,std::string> TComment2EntryMap;
- TComment2EntryMap aComment2EntryMap;
typedef std::map<VISU::TEntity,std::string> TEntity2EntryMap;
+ TComment2EntryMap aComment2EntryMap;
TEntity2EntryMap aEntity2EntryMap;
- for(; aMeshOnEntityMapIter != aMeshOnEntityMap.end(); aMeshOnEntityMapIter++){
+
+ VISU::TMeshOnEntityMap::const_iterator aMeshOnEntityMapIter = aMeshOnEntityMap.begin();
+ for (; aMeshOnEntityMapIter != aMeshOnEntityMap.end(); aMeshOnEntityMapIter++) {
const VISU::TEntity& anEntity = aMeshOnEntityMapIter->first;
aComment.sprintf("myComment=ENTITY;myType=%d;myMeshName=%s;myId=%d",
- VISU::TENTITY,
- aMeshName.c_str(),
- anEntity);
+ VISU::TENTITY, aMeshName.c_str(), anEntity);
string anEntityName;
- switch(anEntity){
+ switch (anEntity) {
case VISU::NODE_ENTITY : anEntityName = "onNodes"; break;
case VISU::EDGE_ENTITY : anEntityName = "onEdges"; break;
case VISU::FACE_ENTITY : anEntityName = "onFaces"; break;
default:
throw std::runtime_error("Build >> Value of entity is incorrect!");
}
- aEntity2EntryMap[anEntity] = CreateAttributes(myStudyDocument,aSubMeshesEntry.c_str(),aRefFatherEntry.c_str(),
- "",anEntityName.c_str(),"",aComment.latin1(),true);
+ aEntity2EntryMap[anEntity] = CreateAttributes
+ (myStudyDocument, aSubMeshesEntry.c_str(), aRefFatherEntry.c_str(),
+ "", anEntityName.c_str(), "", aComment.latin1(), true);
+
const VISU::PMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second;
const VISU::TFamilyMap& aFamilyMap = aMeshOnEntity->myFamilyMap;
VISU::TFamilyMap::const_iterator aFamilyMapIter = aFamilyMap.begin();
- for(; aFamilyMapIter != aFamilyMap.end(); aFamilyMapIter++){
+ for (; aFamilyMapIter != aFamilyMap.end(); aFamilyMapIter++) {
const string& aFamilyName = aFamilyMapIter->first;
aComment.sprintf("myComment=FAMILY;myType=%d;myMeshName=%s;myEntityId=%d;myName=%s",
- VISU::TFAMILY,
- aMeshName.c_str(),
- anEntity,
- aFamilyName.c_str());
+ VISU::TFAMILY, aMeshName.c_str(), anEntity, aFamilyName.c_str());
aComment2EntryMap[aComment.latin1()] =
- CreateAttributes(myStudyDocument,
- aEntity2EntryMap[anEntity].c_str(),
- aRefFatherEntry.c_str(),
- "",
- aFamilyName.c_str(),
- "",
- aComment.latin1(),
- true);
+ CreateAttributes(myStudyDocument, aEntity2EntryMap[anEntity].c_str(), aRefFatherEntry.c_str(),
+ "", aFamilyName.c_str(), "", aComment.latin1(), true);
}
}
+
//Importing groups
const VISU::TGroupMap& aGroupMap = aMesh->myGroupMap;
- if(aGroupMap.size() > 0){
- aComment.sprintf("myComment=GROUPS;myMeshName=%s",
- aMeshName.c_str());
+ if (aGroupMap.size() > 0) {
+ aComment.sprintf("myComment=GROUPS;myMeshName=%s", aMeshName.c_str());
string aGroupsEntry =
- CreateAttributes(myStudyDocument,
- aMeshEntry.c_str(),
- aRefFatherEntry.c_str(),
- "",
- "Groups",
- "",
- aComment.latin1(),
- true);
+ CreateAttributes(myStudyDocument, aMeshEntry.c_str(), aRefFatherEntry.c_str(),
+ "", "Groups", "", aComment.latin1(), true);
+
VISU::TGroupMap::const_iterator aGroupMapIter = aGroupMap.begin();
- for(; aGroupMapIter != aGroupMap.end(); aGroupMapIter++){
+ for (; aGroupMapIter != aGroupMap.end(); aGroupMapIter++) {
const string& aGroupName = aGroupMapIter->first;
aComment.sprintf("myComment=GROUP;myType=%d;myMeshName=%s;myName=%s",
- VISU::TGROUP,aMeshName.c_str(),aGroupName.c_str());
- string aGroupEntry = CreateAttributes(myStudyDocument,aGroupsEntry.c_str(),aRefFatherEntry.c_str(),
- "",aGroupName.c_str(),"",aComment.latin1(),true);
+ VISU::TGROUP, aMeshName.c_str(), aGroupName.c_str());
+ string aGroupEntry =
+ CreateAttributes(myStudyDocument, aGroupsEntry.c_str(), aRefFatherEntry.c_str(),
+ "", aGroupName.c_str(), "", aComment.latin1(), true);
+
const VISU::PGroup aGroup = aGroupMapIter->second;
const VISU::TFamilyAndEntitySet& aFamilyAndEntitySet = aGroup->myFamilyAndEntitySet;
VISU::TFamilyAndEntitySet::const_iterator aFamilyAndEntitySetIter = aFamilyAndEntitySet.begin();
- for(; aFamilyAndEntitySetIter != aFamilyAndEntitySet.end(); aFamilyAndEntitySetIter++){
+ for (; aFamilyAndEntitySetIter != aFamilyAndEntitySet.end(); aFamilyAndEntitySetIter++) {
const VISU::TFamilyAndEntity& aFamilyAndEntity = *aFamilyAndEntitySetIter;
const string& aFamilyName = aFamilyAndEntity.first;
const VISU::TEntity& anEntity = aFamilyAndEntity.second;
aComment.sprintf("myComment=FAMILY;myType=%d;myMeshName=%s;myEntityId=%d;myName=%s",
- VISU::TFAMILY,
- aMeshName.c_str(),
- anEntity,
- aFamilyName.c_str());
- CreateReference(myStudyDocument,aGroupEntry,aComment2EntryMap[aComment.latin1()]);
+ VISU::TFAMILY, aMeshName.c_str(), anEntity, aFamilyName.c_str());
+ if (aComment2EntryMap.count(aComment.latin1()) > 0)
+ CreateReference(myStudyDocument, aGroupEntry, aComment2EntryMap[aComment.latin1()]);
}
}
}
+
//Import fields
string aFieldsEntry;
bool isFieldEntryCreated = 0;
aMeshOnEntityMapIter = aMeshOnEntityMap.begin();
- for(; aMeshOnEntityMapIter != aMeshOnEntityMap.end(); aMeshOnEntityMapIter++){
+ for (; aMeshOnEntityMapIter != aMeshOnEntityMap.end(); aMeshOnEntityMapIter++) {
const VISU::TEntity& anEntity = aMeshOnEntityMapIter->first;
const VISU::PMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second;
const VISU::TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap;
VISU::TFieldMap::const_iterator aFieldMapIter = aFieldMap.begin();
- for(; aFieldMapIter != aFieldMap.end(); aFieldMapIter++){
- if(!isFieldEntryCreated){
- aComment.sprintf("myComment=FIELDS;myMeshName=%s",
- aMeshName.c_str());
+ for (; aFieldMapIter != aFieldMap.end(); aFieldMapIter++) {
+ if (!isFieldEntryCreated) {
+ aComment.sprintf("myComment=FIELDS;myMeshName=%s", aMeshName.c_str());
aFieldsEntry =
- CreateAttributes(myStudyDocument,
- aMeshEntry.c_str(),
- aRefFatherEntry.c_str(),
- "",
- "Fields",
- "",
- aComment.latin1(),
- true);
+ CreateAttributes(myStudyDocument, aMeshEntry.c_str(), aRefFatherEntry.c_str(),
+ "", "Fields", "", aComment.latin1(), true);
isFieldEntryCreated = true;
}
const string& aFieldName = aFieldMapIter->first;
const VISU::PField aField = aFieldMapIter->second;
const VISU::TValField& aValField = aField->myValField;
QString aFieldNameWithUnit = ::GenerateFieldName(aFieldName,aField->myUnitNames[0]);
- aComment.sprintf("myComment=FIELD;myType=%d;myMeshName=%s;myEntityId=%d;myName=%s;myNbTimeStamps=%d;myNumComponent=%d",
- VISU::TFIELD,aMeshName.c_str(),anEntity,aFieldName.c_str(),aValField.size(),aField->myNbComp);
- string aFieldEntry = CreateAttributes(myStudyDocument,aFieldsEntry.c_str(),aRefFatherEntry.c_str(),
- "",aFieldNameWithUnit.latin1(),"",aComment.latin1(),true);
- CreateReference(myStudyDocument,aFieldEntry,aEntity2EntryMap[anEntity]);
+ aComment.sprintf("myComment=FIELD;myType=%d;myMeshName=%s;myEntityId=%d;myName=%s;"
+ "myNbTimeStamps=%d;myNumComponent=%d",
+ VISU::TFIELD, aMeshName.c_str(), anEntity, aFieldName.c_str(),
+ aValField.size(), aField->myNbComp);
+ string aFieldEntry =
+ CreateAttributes(myStudyDocument, aFieldsEntry.c_str(), aRefFatherEntry.c_str(),
+ "", aFieldNameWithUnit.latin1(), "", aComment.latin1(), true);
+ CreateReference(myStudyDocument, aFieldEntry, aEntity2EntryMap[anEntity]);
+
VISU::TValField::const_iterator aValFieldIter = aValField.begin();
- for(; aValFieldIter != aValField.end(); aValFieldIter++){
+ for (; aValFieldIter != aValField.end(); aValFieldIter++) {
int aTimeStamp = aValFieldIter->first;
const VISU::PValForTime aValForTime = aValFieldIter->second;
- aComment.sprintf("myComment=TIMESTAMP;myType=%d;myMeshName=%s;myEntityId=%d;myFieldName=%s;myTimeStampId=%d;myNumComponent=%d",
- VISU::TTIMESTAMP,aMeshName.c_str(),anEntity,aFieldName.c_str(),aTimeStamp,aField->myNbComp);
+ aComment.sprintf("myComment=TIMESTAMP;myType=%d;myMeshName=%s;myEntityId=%d;"
+ "myFieldName=%s;myTimeStampId=%d;myNumComponent=%d",
+ VISU::TTIMESTAMP, aMeshName.c_str(), anEntity,
+ aFieldName.c_str(), aTimeStamp, aField->myNbComp);
string aTimeStampId = VISU_Convertor::GenerateName(aValForTime->myTime);
- CreateAttributes(myStudyDocument,aFieldEntry.c_str(),aRefFatherEntry.c_str(),
- "",aTimeStampId.c_str(),"",aComment.latin1(),true);
+ CreateAttributes(myStudyDocument, aFieldEntry.c_str(), aRefFatherEntry.c_str(),
+ "", aTimeStampId.c_str(), "", aComment.latin1(), true);
}
}
}
}
bool isBuildAll = VISU::GetResourceMgr()->booleanValue("VISU", "full_med_loading", false);
- if(isBuildAll) BuildAll();
- }catch(std::exception& exc){
+ if (isBuildAll) BuildAll();
+ } catch(std::exception& exc) {
INFOS("Follow exception was occured :\n"<<exc.what());
return NULL;
- }catch(...){
+ } catch(...) {
INFOS("Unknown exception was occured!!!");
return NULL;
}
}
myInput = CreateConvertor(myFileInfo.absFilePath().latin1());
if(!myInput)
- throw std::runtime_error("Create - Cannot create a Convertor for this file!!!"); return Build();
+ throw std::runtime_error("Create - Cannot create a Convertor for this file!!!");
+ return Build();
}catch(std::exception& exc){
INFOS("Follow exception was occured :\n"<<exc.what());
}catch(...){
const Storable::TRestoringMap& theMap,
const string& thePrefix)
{
- if(MYDEBUG) MESSAGE("Result_i::Restore - "<<thePrefix);
- try{
+ if(MYDEBUG) MESSAGE("Result_i::Restore - " << thePrefix);
+ try {
mySObject = SALOMEDS::SObject::_duplicate(theSObject);
myStudyDocument = mySObject->GetStudy();
mySComponent = mySObject->GetFatherComponent();
- myName = VISU::Storable::FindValue(theMap,"myName").latin1();
- myInitFileName = VISU::Storable::FindValue(theMap,"myInitFileName").latin1();
+ myName = VISU::Storable::FindValue(theMap, "myName").latin1();
+ myInitFileName = VISU::Storable::FindValue(theMap, "myInitFileName").latin1();
+
SALOMEDS::SObject_var aRefSObj, aTargetRefSObj;
- if(mySObject->FindSubObject(1,aRefSObj) && aRefSObj->ReferencedObject(aTargetRefSObj)){
- if(MYDEBUG) MESSAGE("Result_i::GetInput - There is some reference.");
+ if (mySObject->FindSubObject(1, aRefSObj) &&
+ aRefSObj->ReferencedObject(aTargetRefSObj)) {
+ if(MYDEBUG) MESSAGE("Result_i::GetInput - There is some reference.");
SALOMEDS::SComponent_var aCompRefSObj = aTargetRefSObj->GetFatherComponent();
CORBA::String_var aDataType = aCompRefSObj->ComponentDataType();
myFileInfo.setFile(aDataType.in());
- if(MYDEBUG) MESSAGE("Result_i::GetInput - aDataType = "<<aDataType);
- Engines::Component_var aEngComp = Base_i::myEnginesLifeCycle->FindOrLoad_Component("FactoryServer", aDataType.in());
+ if(MYDEBUG) MESSAGE("Result_i::GetInput - aDataType = " << aDataType);
+ Engines::Component_var aEngComp =
+ Base_i::myEnginesLifeCycle->FindOrLoad_Component("FactoryServer", aDataType.in());
if (CORBA::is_nil(aEngComp))
throw std::runtime_error("Restore - There is no aEngComp for the aDataType !!!");
- SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder();
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder();
SALOMEDS::Driver_var aDriver = SALOMEDS::Driver::_narrow(aEngComp);
- aStudyBuilder->LoadWith(aCompRefSObj,aDriver);
- if(strcmp(aDataType,"MED") == 0)
- myInput = CreateMEDConvertor(aTargetRefSObj);
+ aStudyBuilder->LoadWith(aCompRefSObj, aDriver);
+ if (strcmp(aDataType, "MED") == 0) {
+ // create field or MED converter
+ CORBA::Object_var aMedObject = VISU::SObjectToObject(aTargetRefSObj);
+ SALOME_MED::FIELD_var aField = SALOME_MED::FIELD::_narrow(aMedObject);
+ if(!CORBA::is_nil(aField))
+ myInput = CreateMEDFieldConvertor(aField);
+ else
+ myInput = CreateMEDConvertor(aTargetRefSObj);
+ }
else
throw std::runtime_error("GetInput - There is no convertor for the aDataType !!!");
- }else{
+ } else {
myFileInfo.setFile(thePrefix.c_str());
- string aStudyPrefix("");
- if (IsMultifile()) aStudyPrefix = (SALOMEDS_Tool::GetNameFromPath(myStudyDocument->URL()));
- if(!myFileInfo.isFile()){
+ string aStudyPrefix ("");
+ if (IsMultifile())
+ aStudyPrefix = SALOMEDS_Tool::GetNameFromPath(myStudyDocument->URL());
+ if (!myFileInfo.isFile()) {
string aFileName = thePrefix + aStudyPrefix + "_" + myName;
myFileInfo.setFile(aFileName.c_str());
}
if(MYDEBUG)
- MESSAGE("Result_i::Restore - aFileName = "<<myFileInfo.filePath()<<"; "<<myFileInfo.isFile());
+ MESSAGE("Result_i::Restore - aFileName = " << myFileInfo.filePath() << "; " << myFileInfo.isFile());
- if (HDFascii::isASCII(myFileInfo.filePath().latin1())) {
- char* aResultPath = HDFascii::ConvertFromASCIIToHDF(myFileInfo.filePath().latin1());
+ const char* aPathLatin = myFileInfo.filePath().latin1();
+ if (HDFascii::isASCII(aPathLatin)) {
+ MESSAGE("ConvertFromASCIIToHDF(" << aPathLatin << ")");
+ char* aResultPath = HDFascii::ConvertFromASCIIToHDF(aPathLatin);
+ MESSAGE("ConvertFromASCIIToHDF() DONE : " << aResultPath);
char* aHDFFileName = new char[strlen(aResultPath) + 19];
sprintf(aHDFFileName, "%shdf_from_ascii.hdf", aResultPath);
if (IsMultifile()) { // set this file as new - temporary
static QString aCommand;
aCommand.sprintf("mv %s %s%s",aHDFFileName, aResultPath, myFileInfo.baseName().latin1());
- if(system(aCommand) == -1){
- if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :"<<aCommand);
+ if (system(aCommand) == -1) {
+ if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :" << aCommand);
return NULL;
- } else if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - "<<aCommand);
- myFileInfo.setFile(QString(aResultPath)+QString(myFileInfo.baseName().latin1()));
+ } else {
+ if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - " << aCommand);
+ }
+ myFileInfo.setFile(QString(aResultPath) + QString(myFileInfo.baseName().latin1()));
} else { // change current temporary file to the new: with hdf-format
static QString aCommand;
aCommand.sprintf("mv %s %s\0",aHDFFileName, myFileInfo.filePath().latin1());
- if(system(aCommand.latin1()) == -1) {
- if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :"<<aCommand);
+ if (system(aCommand.latin1()) == -1) {
+ if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :" << aCommand);
return NULL;
- } else if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - "<<aCommand);
+ } else {
+ if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - " << aCommand);
+ }
SALOMEDS::ListOfFileNames_var anEmptyList = new SALOMEDS::ListOfFileNames;
SALOMEDS_Tool::RemoveTemporaryFiles(aResultPath, anEmptyList.in(), true);
}
mySourceId = eRestoredFile;
delete(aResultPath);
delete(aHDFFileName);
- } else if (!IsMultifile())
+ } else if (!IsMultifile()) {
mySourceId = eRestoredFile;
- else
+ } else {
mySourceId = eFile;
- if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - mySourceId = "<<mySourceId);
+ }
+ if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - mySourceId = " << mySourceId);
myInput = CreateConvertor(myFileInfo.filePath().latin1());
QString aComment;
aComment.sprintf("myComment=%s;myType=%d;myFileName=%s;myInitFileName=%s",
- GetComment(),VISU::TRESULT,myFileInfo.filePath().latin1(),
+ GetComment(), VISU::TRESULT, myFileInfo.filePath().latin1(),
myInitFileName.c_str()); // Restoring of Python dump
SALOMEDS::GenericAttribute_var anAttr;
- if(!theSObject->FindAttribute(anAttr, "AttributeComment"))
+ if (!theSObject->FindAttribute(anAttr, "AttributeComment"))
throw std::runtime_error("Build - There is no AttributeComment for the SObject !!!");
SALOMEDS::AttributeComment_var aCmnt = SALOMEDS::AttributeComment::_narrow(anAttr);
aCmnt->SetValue(aComment.latin1());
}
bool isBuildAll = VISU::GetResourceMgr()->booleanValue("VISU", "full_med_loading", false);
- if(isBuildAll) BuildAll();
+ if (isBuildAll)
+ BuildAll();
return this;
- }catch(std::exception& exc){
+ } catch(std::exception& exc) {
INFOS("Follow exception was occured :\n"<<exc.what());
- }catch(...){
+ } catch(...) {
INFOS("Unknown exception was occured!!!");
}
return NULL;
aSourceId = eRestoredComponent;
VISU::Result_i* pResult = new VISU::Result_i(aStudy,aSourceId,aCreationId);
- if(pResult == NULL)
+ if (pResult == NULL)
return NULL;
return pResult->Restore(theSObject,theMap,thePrefix);
return FindEntryWithComment(myStudyDocument,GetEntry().c_str(),theComment.c_str());
}
-VISU::Result_i::~Result_i() {
+VISU::Result_i::~Result_i()
+{
MESSAGE("Result_i::~Result_i() - this = "<<this);
- if(mySourceId == eRestoredFile){
+ if (mySourceId == eRestoredFile) {
static QString aCommand;
aCommand.sprintf("rm %s",myFileInfo.filePath().latin1());
MESSAGE("Result_i::~Result_i - system("<<aCommand<<") = "<<system(aCommand));