Remplacement des taquets de tabulations paor des espaces

This commit is contained in:
GERALD NICOLAS 2021-02-03 15:55:16 +01:00
parent 55f658966b
commit 36e723d3d3
9 changed files with 2783 additions and 2843 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// Copyright (C) 2011-2020 CEA/DEN, EDF R&D
// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@ -14,9 +14,9 @@
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : MG_ADAPT.hxx
// File : MG_ADAPT.hxx
//
#ifndef MG_ADAPT_HXX
#define MG_ADAPT_HXX
@ -40,22 +40,21 @@ namespace MG_ADAPT{
class MgAdapt;
typedef std::map< std::string, std::string > TOptionValues;
typedef std::set< std::string > TOptionNames;
typedef std::set< std::string > TOptionNames;
struct MgAdaptHypothesisData
{
std::string myFileInDir, myMeshFileIn, myInMeshName, myMeshFileBackground, myOutMeshName,
myMeshFileOut, myFileOutDir, myFileSizeMapDir, myFieldName;
bool fromMedFile;
bool myPublish, myMeshOutMed;
bool myUseLocalMap, myUseBackgroundMap, myUseConstantValue;
double myConstantValue;
int myRank, myTimeStep;
bool myUseNoTimeStep, myUseLastTimeStep, myUseChosenTimeStep;
std::string myWorkingDir, myLogFile;
bool myPrintLogInFile, myKeepFiles, myRemoveLogOnSuccess;
int myVerboseLevel;
std::string myFileInDir, myMeshFileIn, myInMeshName, myMeshFileBackground, myOutMeshName,
myMeshFileOut, myFileOutDir, myFileSizeMapDir, myFieldName;
bool fromMedFile;
bool myPublish, myMeshOutMed;
bool myUseLocalMap, myUseBackgroundMap, myUseConstantValue;
double myConstantValue;
int myRank, myTimeStep;
bool myUseNoTimeStep, myUseLastTimeStep, myUseChosenTimeStep;
std::string myWorkingDir, myLogFile;
bool myPrintLogInFile, myKeepFiles, myRemoveLogOnSuccess;
int myVerboseLevel;
};
class outFileStream : public std::ofstream{
@ -68,43 +67,43 @@ public:
*/
class ToComment : public std::string
{
std::ostringstream _s ;
std::ostringstream _s ;
public :
ToComment():std::string("") {}
ToComment():std::string("") {}
ToComment(const ToComment& c):std::string() {
_s << c.c_str() ;
this->std::string::operator=( _s.str() );
}
ToComment(const ToComment& c):std::string() {
_s << c.c_str() ;
this->std::string::operator=( _s.str() );
}
ToComment & operator=(const ToComment& c) {
_s << c.c_str() ;
this->std::string::operator=( _s.str() );
return *this;
}
ToComment & operator=(const ToComment& c) {
_s << c.c_str() ;
this->std::string::operator=( _s.str() );
return *this;
}
template <class T>
ToComment( const T &anything ) {
_s << anything ;
this->std::string::operator=( _s.str() );
}
template <class T>
ToComment( const T &anything ) {
_s << anything ;
this->std::string::operator=( _s.str() );
}
template <class T>
ToComment & operator<<( const T &anything ) {
_s << anything ;
this->std::string::operator=( _s.str() );
return *this ;
}
template <class T>
ToComment & operator<<( const T &anything ) {
_s << anything ;
this->std::string::operator=( _s.str() );
return *this ;
}
operator char*() const {
return (char*)c_str();
}
operator char*() const {
return (char*)c_str();
}
std::ostream& Stream() {
return _s;
}
std::ostream& Stream() {
return _s;
}
};
@ -113,227 +112,223 @@ class MgAdapt
public:
MgAdapt();
MgAdapt(MgAdaptHypothesisData*);
MgAdapt(const MgAdapt&);
~MgAdapt();
void buildModel();
void setData( MgAdaptHypothesisData* data);
MgAdapt();
MgAdapt(MgAdaptHypothesisData*);
MgAdapt(const MgAdapt&);
~MgAdapt();
void buildModel();
void setData( MgAdaptHypothesisData* data);
void setMedFileIn(std::string fileName);
std::string getMedFileIn();
void setMedFileIn(std::string fileName);
std::string getMedFileIn();
void setMedFileOut(std::string fileOut);
std::string getMedFileOut();
void setMedFileOut(std::string fileOut);
std::string getMedFileOut();
void setMeshName(std::string name);
std::string getMeshName();
void setMeshName(std::string name);
std::string getMeshName();
void setMeshNameOut(std::string name);
std::string getMeshNameOut();
void setMeshNameOut(std::string name);
std::string getMeshNameOut();
void setMeshOutMed(bool mybool);
bool getMeshOutMed();
void setMeshOutMed(bool mybool);
bool getMeshOutMed();
void setPublish(bool mybool);
bool getPublish();
void setPublish(bool mybool);
bool getPublish();
void setFieldName(std::string myFieldName);
std::string getFieldName();
void setFieldName(std::string myFieldName);
std::string getFieldName();
void setTimeStep(int time);
int getTimeStep() const;
void setTimeStep(int time);
int getTimeStep() const;
void setRankTimeStep(int time, int myRank);
int getRank();
void setTimeStepRankLast();
void setNoTimeStep();
void setChosenTimeStepRank();
void updateTimeStepRank();
void setLogFile(std::string);
std::string getLogFile();
void setRankTimeStep(int time, int myRank);
int getRank();
void setVerbosityLevel(int verbosity);
int getVerbosityLevel();
void setTimeStepRankLast();
void setNoTimeStep();
void setChosenTimeStepRank();
void updateTimeStepRank();
void setRemoveOnSuccess(bool mybool);
bool getRemoveOnSuccess();
void setLogFile(std::string);
std::string getLogFile();
MgAdaptHypothesisData* getData() const;
void setVerbosityLevel(int verbosity);
int getVerbosityLevel();
void setUseLocalMap(bool mybool);
bool getUseLocalMap();
void setRemoveOnSuccess(bool mybool);
bool getRemoveOnSuccess();
void setUseBackgroundMap(bool mybool);
bool getUseBackgroundMap();
MgAdaptHypothesisData* getData() const;
void setUseConstantValue(bool mybool);
bool getUseConstantValue();
void setUseLocalMap(bool mybool);
bool getUseLocalMap();
void setConstantValue(double cnst);
double getConstantValue() const;
void setUseBackgroundMap(bool mybool);
bool getUseBackgroundMap();
void setSizeMapFile(std::string mapFile);
std::string getSizeMapFile();
void setUseConstantValue(bool mybool);
bool getUseConstantValue();
void setFromMedFile(bool mybool);
bool isFromMedFile();
void setConstantValue(double cnst);
double getConstantValue() const;
void setKeepWorkingFiles(bool mybool);
bool getKeepWorkingFiles();
void setSizeMapFile(std::string mapFile);
std::string getSizeMapFile();
void setPrintLogInFile(bool mybool);
bool getPrintLogInFile();
void setFromMedFile(bool mybool);
bool isFromMedFile();
void setWorkingDir(std::string dir);
std::string getWorkingDir() const;
void setKeepWorkingFiles(bool mybool);
bool getKeepWorkingFiles();
void setPrintLogInFile(bool mybool);
bool getPrintLogInFile();
void setWorkingDir(std::string dir);
std::string getWorkingDir() const;
bool setAll();
static std::string getCommandToRun(MgAdapt* );
std::string getCommandToRun() ;
int compute(std::string& errStr);
std::string getFileName() const;
static std::string getExeName();
void copyMgAdaptHypothesisData( const MgAdaptHypothesisData* from) ;
bool setAll();
static std::string getCommandToRun(MgAdapt* );
std::string getCommandToRun() ;
int compute(std::string& errStr);
std::string getFileName() const;
static std::string getExeName();
void copyMgAdaptHypothesisData( const MgAdaptHypothesisData* from) ;
void checkDirPath(std::string& dirPath);
void checkDirPath(std::string& dirPath);
bool hasOptionDefined( const std::string& optionName ) const;
void setOptionValue(const std::string& optionName,
const std::string& optionValue) throw (std::invalid_argument);
std::string getOptionValue(const std::string& optionName,
bool* isDefault=0) const throw (std::invalid_argument);
std::vector <std::string> getCustomOptionValuesStrVec() const;
std::vector <std::string> getOptionValuesStrVec() const;
bool hasOptionDefined( const std::string& optionName ) const;
void setOptionValue(const std::string& optionName,
const std::string& optionValue) throw (std::invalid_argument);
std::string getOptionValue(const std::string& optionName,
bool* isDefault=0) const throw (std::invalid_argument);
std::vector <std::string> getCustomOptionValuesStrVec() const;
std::vector <std::string> getOptionValuesStrVec() const;
TOptionValues getOptionValues() const;
const TOptionValues& getCustomOptionValues() const ;
static double toDbl(const std::string&, bool* isOk = 0) throw (std::invalid_argument);
static bool toBool(const std::string&, bool* isOk = 0) throw (std::invalid_argument);
static int toInt(const std::string&, bool* isOk = 0 ) throw (std::invalid_argument);
static std::string toLowerStr(const std::string& str);
TOptionValues getOptionValues() const;
const TOptionValues& getCustomOptionValues() const ;
static double toDbl(const std::string&, bool* isOk = 0) throw (std::invalid_argument);
static bool toBool(const std::string&, bool* isOk = 0) throw (std::invalid_argument);
static int toInt(const std::string&, bool* isOk = 0 ) throw (std::invalid_argument);
static std::string toLowerStr(const std::string& str);
/* default values */
static std::string defaultWorkingDirectory();
static std::string defaultLogFile();
static bool defaultKeepFiles();
static bool defaultRemoveLogOnSuccess();
static int defaultVerboseLevel();
static bool defaultPrintLogInFile();
static bool defaultFromMedFile();
static bool defaultMeshOutMed();
static bool defaultPublish();
static bool defaultUseLocalMap();
static bool defaultUseBackgroundMap();
static bool defaultUseConstantValue();
static bool defaultUseNoTimeStep();
static bool defaultUseLastTimeStep();
static bool defaultUseChosenTimeStep();
static double defaultMaximumMemory();
static bool isFileExist(const std::string& fName);
/* default values */
static std::string defaultWorkingDirectory();
static std::string defaultLogFile();
static bool defaultKeepFiles();
static bool defaultRemoveLogOnSuccess();
static int defaultVerboseLevel();
static bool defaultPrintLogInFile();
static bool defaultFromMedFile();
static bool defaultMeshOutMed();
static bool defaultPublish();
static bool defaultUseLocalMap();
static bool defaultUseBackgroundMap();
static bool defaultUseConstantValue();
static bool defaultUseNoTimeStep();
static bool defaultUseLastTimeStep();
static bool defaultUseChosenTimeStep();
static double defaultMaximumMemory();
static bool isFileExist(const std::string& fName);
enum Status {
DRS_OK,
DRS_EMPTY, // a file contains no mesh with the given name
DRS_WARN_RENUMBER, // a file has overlapped ranges of element numbers,
// so the numbers from the file are ignored
DRS_WARN_SKIP_ELEM, // some elements were skipped due to incorrect file data
DRS_WARN_DESCENDING, // some elements were skipped due to descending connectivity
DRS_FAIL, // general failure (exception etc.)
DRS_NO_TIME_STEP // general failure (exception etc.)
};
struct group {
std::string _name;
std::vector<MEDCoupling::mcIdType> _famListId;
std::vector<std::string> _famNames;
group(std::string name, std::vector<MEDCoupling::mcIdType> famListId, std::vector<std::string> famNames):_name(name)
{
std::vector<MEDCoupling::mcIdType>::iterator it = famListId.begin();
for (; it!=famListId.end(); ++it)
_famListId.push_back(*it);
std::vector<std::string>::iterator itt = famNames.begin();
for (; itt!=famNames.end(); ++itt)
_famNames.push_back(*itt);
}
};
enum Status {
DRS_OK,
DRS_EMPTY, // a file contains no mesh with the given name
DRS_WARN_RENUMBER, // a file has overlapped ranges of element numbers,
// so the numbers from the file are ignored
DRS_WARN_SKIP_ELEM, // some elements were skipped due to incorrect file data
DRS_WARN_DESCENDING, // some elements were skipped due to descending connectivity
DRS_FAIL, // general failure (exception etc.)
DRS_NO_TIME_STEP // general failure (exception etc.)
};
struct group {
std::string _name;
std::vector<MEDCoupling::mcIdType> _famListId;
std::vector<std::string> _famNames;
group(std::string name, std::vector<MEDCoupling::mcIdType> famListId, std::vector<std::string> famNames):_name(name)
{
std::vector<MEDCoupling::mcIdType>::iterator it = famListId.begin();
for (; it!=famListId.end(); ++it)
_famListId.push_back(*it);
std::vector<std::string>::iterator itt = famNames.begin();
for (; itt!=famNames.end(); ++itt)
_famNames.push_back(*itt);
}
};
struct family {
std::string _famName;
mcIdType _famId;
family(std::string famName, MEDCoupling::mcIdType famId):_famName(famName), _famId(famId) {}
};
struct family {
std::string _famName;
mcIdType _famId;
family(std::string famName, MEDCoupling::mcIdType famId):_famName(famName), _famId(famId) {}
};
private :
bool fromMedFile;
bool fromMedFile;
std::string medFileIn;
std::string medFileOut;
std::string meshName;
std::string meshNameOut;
bool publish, meshOutMed;
bool useLocalMap, useBackgroundMap, useConstantValue;
bool myUseLastTimeStep, myUseNoTimeStep, myUseChosenTimeStep;
std::string sizeMapFile;
std::string fieldName;
double constantValue;
int rank, timeStep;
std::string medFileIn;
std::string medFileOut;
std::string meshName;
std::string meshNameOut;
bool publish, meshOutMed;
bool useLocalMap, useBackgroundMap, useConstantValue;
bool myUseLastTimeStep, myUseNoTimeStep, myUseChosenTimeStep;
std::string sizeMapFile;
std::string fieldName;
double constantValue;
int rank, timeStep;
/* advanced options */
/* advanced options */
std::string logFile;
std::string workingDir;
int verbosityLevel;
bool removeOnSuccess;
bool toKeepWorkingFiles;
bool printLogInFile;
std::string logFile;
std::string workingDir;
int verbosityLevel;
bool removeOnSuccess;
bool toKeepWorkingFiles;
bool printLogInFile;
/* Model DATA */
MgAdaptHypothesisData* data;
/* Model DATA */
MgAdaptHypothesisData* data;
/* */
/* */
TOptionValues _option2value, _customOption2value; // user defined values
TOptionValues _defaultOptionValues; // default values
TOptionNames _doubleOptions, _charOptions, _boolOptions; // to find a type of option
TOptionValues _option2value, _customOption2value; // user defined values
TOptionValues _defaultOptionValues; // default values
TOptionNames _doubleOptions, _charOptions, _boolOptions; // to find a type of option
std::vector <std::string> _myErrorMessages;
Status _myStatus;
std::string meshFormatOutputMesh;
std::vector< std::string> solFormatOutput;
std::vector <group> groupVec;
std::vector <family> famVec;
std::vector< std::string> tmpFilesToBeDeleted;
std::vector <std::string> _myErrorMessages;
Status _myStatus;
std::string meshFormatOutputMesh;
std::vector< std::string> solFormatOutput;
std::vector <group> groupVec;
std::vector <family> famVec;
std::vector< std::string> tmpFilesToBeDeleted;
/* convert MED-->.mesh format */
void convertMedFile(std::string& meshIn,std::string& solFileIn, std::string& sizeMapIn) ;
void storeGroups(MEDCoupling::MEDFileMesh* fileMesh);
void restoreGroups(MEDCoupling::MEDFileMesh* fileMesh) const;
void storefams(MEDCoupling::MEDFileMesh* fileMesh);
void restorefams(MEDCoupling::MEDFileMesh* fileMesh) const;
void storeGroupsAndFams(MEDCoupling::MEDFileMesh* fileMesh);
void restoreGroupsAndFams(MEDCoupling::MEDFileMesh* fileMesh) const;
void convertMeshFile(std::string& meshFormatIn, std::vector< std::string>& solFieldFileNames) const ;
void buildConstantSizeMapSolFile(const std::string& solFormatFieldFileName, const int dim, const int version, const mcIdType nbNodes) const;
void buildBackGroundMeshAndSolFiles(const std::vector<std::string>& fieldFileNames, const std::string& meshFormatsizeMapFile) const;
void getTimeStepInfos(std::string aFile, med_int& numdt, med_int& numit);
Status addMessage(const std::string& msg, const bool isFatal = false);
med_idt openMedFile(const std::string aFile) ;
void execCmd( const char* cmd, int& err);
void cleanUp();
void appendMsgToLogFile(std::string& msg);
/* convert MED-->.mesh format */
void convertMedFile(std::string& meshIn,std::string& solFileIn, std::string& sizeMapIn) ;
void storeGroups(MEDCoupling::MEDFileMesh* fileMesh);
void restoreGroups(MEDCoupling::MEDFileMesh* fileMesh) const;
void storefams(MEDCoupling::MEDFileMesh* fileMesh);
void restorefams(MEDCoupling::MEDFileMesh* fileMesh) const;
void storeGroupsAndFams(MEDCoupling::MEDFileMesh* fileMesh);
void restoreGroupsAndFams(MEDCoupling::MEDFileMesh* fileMesh) const;
void convertMeshFile(std::string& meshFormatIn, std::vector< std::string>& solFieldFileNames) const ;
void buildConstantSizeMapSolFile(const std::string& solFormatFieldFileName, const int dim, const int version, const mcIdType nbNodes) const;
void buildBackGroundMeshAndSolFiles(const std::vector<std::string>& fieldFileNames, const std::string& meshFormatsizeMapFile) const;
void getTimeStepInfos(std::string aFile, med_int& numdt, med_int& numit);
Status addMessage(const std::string& msg, const bool isFatal = false);
med_idt openMedFile(const std::string aFile) ;
void execCmd( const char* cmd, int& err);
void cleanUp();
void appendMsgToLogFile(std::string& msg);
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,7 @@
// Copyright (C) 2011-2020 CEA/DEN, EDF R&D
// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@ -16,9 +19,8 @@
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// SMESH SMESHGUI : GUI for the adaptation in the SMESH component
// File : MG_ADAPTGUI.hxx
// File : MG_ADAPTGUI.hxx
//
#ifndef MG_ADAPTGUI_HXX
#define MG_ADAPTGUI_HXX
@ -103,9 +105,9 @@ std::string remove_extension(const std::string& filename);
enum ADAPTATION_MODE{
SURFACE, // surface adaption when meshDim == 2
VOLUME, //
BOTH
SURFACE, // surface adaption when meshDim == 2
VOLUME, //
BOTH
};
//=================================================================================
// class : SMESHGUI_MgAdaptDlg
@ -113,148 +115,146 @@ enum ADAPTATION_MODE{
//=================================================================================
class SMESHGUI_MgAdaptDlg : public QDialog
{
Q_OBJECT;
Q_OBJECT;
public:
//! Property type
enum Mode { Arguments, AdvancedOptions};
SMESHGUI_MgAdaptDlg( SalomeApp_Module*, SMESH::MG_ADAPT_ptr, QWidget* parent= 0,bool isCreation = true );
~SMESHGUI_MgAdaptDlg();
//! Property type
enum Mode { Arguments, AdvancedOptions};
SMESHGUI_MgAdaptDlg( SalomeApp_Module*, SMESH::MG_ADAPT_ptr, QWidget* parent= 0,bool isCreation = true );
~SMESHGUI_MgAdaptDlg();
void buildDlg();
void reject();
bool checkParams(QString& msg) ;
//~void setModel(MgAdapt*);
SMESH::MG_ADAPT_ptr getModel() const;
void buildDlg();
void reject();
bool checkParams(QString& msg) ;
//~void setModel(MgAdapt*);
SMESH::MG_ADAPT_ptr getModel() const;
public slots:
protected slots:
virtual bool clickOnApply();
virtual bool clickOnApply();
private slots:
virtual void clickOnHelp();
virtual void clickOnOk();
virtual void clickOnHelp();
virtual void clickOnOk();
protected :
SMESHGUI_MgAdaptArguments* myArgs;
MgAdaptAdvWidget* myAdvOpt;
bool readParamsFromHypo( ) const ;
bool readParamsFromWidgets( ) ;
bool storeParamsToHypo( const SMESH::MgAdaptHypothesisData & ) const;
SMESHGUI_MgAdaptArguments* myArgs;
MgAdaptAdvWidget* myAdvOpt;
bool readParamsFromHypo( ) const ;
bool readParamsFromWidgets( ) ;
bool storeParamsToHypo( const SMESH::MgAdaptHypothesisData & ) const;
private:
SalomeApp_Module* mySMESHGUI; /* Current SMESHGUI object */
QTabWidget* myTabWidget;
SalomeApp_Module* mySMESHGUI; /* Current SMESHGUI object */
QTabWidget* myTabWidget;
SMESH::MgAdaptHypothesisData* myData;
SMESH::MG_ADAPT_ptr model;
SMESH::MgAdaptHypothesisData* myData;
SMESH::MG_ADAPT_ptr model;
};
class SMESHGUI_MgAdaptArguments : public QWidget
{
Q_OBJECT;
Q_OBJECT;
public:
//! Property type
enum Mode { Mesh, Browser};
enum SIZEMAP { Local, Background, Constant};
SMESHGUI_MgAdaptArguments( QWidget* parent);
~SMESHGUI_MgAdaptArguments();
void setMode( const Mode, const SIZEMAP );
med_int getMeshDim() const;
//! Property type
enum Mode { Mesh, Browser};
enum SIZEMAP { Local, Background, Constant};
SMESHGUI_MgAdaptArguments( QWidget* parent);
~SMESHGUI_MgAdaptArguments();
void setMode( const Mode, const SIZEMAP );
med_int getMeshDim() const;
QString* myFileInDir;
QString* myFileOutDir;
QString* myFileSizeMapDir;
QGroupBox* aMeshIn ;
QRadioButton* aMedfile;
QRadioButton* aBrowser ;
QLineEdit* aBrowserObject;
QPushButton* selectMedFilebutton ;
QSpacerItem* hspacer;
QLineEdit* selectMedFileLineEdit ;
QButtonGroup* meshInGroup ;
QGridLayout* meshIn ;
QString* myFileInDir;
QString* myFileOutDir;
QString* myFileSizeMapDir;
QGroupBox* aMeshIn ;
QRadioButton* aMedfile;
QRadioButton* aBrowser ;
QLineEdit* aBrowserObject;
QPushButton* selectMedFilebutton ;
QSpacerItem* hspacer;
QLineEdit* selectMedFileLineEdit ;
QButtonGroup* meshInGroup ;
QGridLayout* meshIn ;
QGroupBox* aMeshOut ;
QLabel* meshName;
QLineEdit* meshNameLineEdit;
QSpacerItem* secondHspacer;
QCheckBox* medFileCheckBox;
QPushButton* selectOutMedFilebutton;
QLineEdit* selectOutMedFileLineEdit;
QSpacerItem* thirdHspacer;
QCheckBox* publishOut;
QGridLayout* meshOut ;
QGroupBox* aMeshOut ;
QLabel* meshName;
QLineEdit* meshNameLineEdit;
QSpacerItem* secondHspacer;
QCheckBox* medFileCheckBox;
QPushButton* selectOutMedFilebutton;
QLineEdit* selectOutMedFileLineEdit;
QSpacerItem* thirdHspacer;
QCheckBox* publishOut;
QGridLayout* meshOut ;
QGroupBox* sizeMapDefinition ;
QRadioButton* localButton;
QRadioButton* backgroundButton ;
QRadioButton* constantButton ;
QLabel* medFileBackground;
QPushButton* selectMedFileBackgroundbutton;
QLineEdit* selectMedFileBackgroundLineEdit;
QLabel* valueLabel;
QDoubleSpinBox* dvalue;
QButtonGroup* sizeMapDefGroup ;
QGridLayout* sizeMapDefGroupLayout;
QGroupBox* sizeMapDefinition ;
QRadioButton* localButton;
QRadioButton* backgroundButton ;
QRadioButton* constantButton ;
QLabel* medFileBackground;
QPushButton* selectMedFileBackgroundbutton;
QLineEdit* selectMedFileBackgroundLineEdit;
QLabel* valueLabel;
QDoubleSpinBox* dvalue;
QButtonGroup* sizeMapDefGroup ;
QGridLayout* sizeMapDefGroupLayout;
QGroupBox* sizeMapField;
QLabel* fieldName;
QComboBox* fieldNameCmb;
QRadioButton* noTimeStep;
QRadioButton* lastTimeStep ;
QRadioButton* chosenTimeStep;
QLabel* timeStepLabel;
QSpinBox* timeStep;
QLabel* rankLabel;
QSpinBox* rankSpinBox;
QButtonGroup* timeStepGroup;
QGridLayout* sizeMapFieldGroupLayout;
QGroupBox* sizeMapField;
QLabel* fieldName;
QComboBox* fieldNameCmb;
QRadioButton* noTimeStep;
QRadioButton* lastTimeStep ;
QRadioButton* chosenTimeStep;
QLabel* timeStepLabel;
QSpinBox* timeStep;
QLabel* rankLabel;
QSpinBox* rankSpinBox;
QButtonGroup* timeStepGroup;
QGridLayout* sizeMapFieldGroupLayout;
signals:
void updateSelection();
void toExportMED(const char *);
void meshDimSignal(ADAPTATION_MODE aMode);
void updateSelection();
void toExportMED(const char *);
void meshDimSignal(ADAPTATION_MODE aMode);
public slots:
protected slots:
private slots:
void modeChanged( int);
void sizeMapDefChanged(int);
void timeStepGroupChanged(int timeStepType, bool disableOther = false, int vmax = 0);
void onSelectMedFilebuttonClicked();
void clear();
void onMedFileCheckBox(int);
void onPublishOut(int);
void onSelectOutMedFilebutton();
void onSelectMedFileBackgroundbutton();
void onLocalSelected(QString);
void onNoTimeStep(bool disableOther = false);
void onLastTimeStep(bool disableOther = false);
void onChosenTimeStep(bool disableOther = false, int vmax = 0);
void visibleTimeStepRankLabel(bool visible);
void modeChanged( int);
void sizeMapDefChanged(int);
void timeStepGroupChanged(int timeStepType, bool disableOther = false, int vmax = 0);
void onSelectMedFilebuttonClicked();
void clear();
void onMedFileCheckBox(int);
void onPublishOut(int);
void onSelectOutMedFilebutton();
void onSelectMedFileBackgroundbutton();
void onLocalSelected(QString);
void onNoTimeStep(bool disableOther = false);
void onLastTimeStep(bool disableOther = false);
void onChosenTimeStep(bool disableOther = false, int vmax = 0);
void visibleTimeStepRankLabel(bool visible);
private:
QString getMedFileName(bool avertir);
LightApp_SelectionMgr* selMgr ;
med_int meshDim;
std::map<QString, int> myFieldList;
QString getMedFileName(bool avertir);
LightApp_SelectionMgr* selMgr ;
med_int meshDim;
std::map<QString, int> myFieldList;
};
enum {
OPTION_ID_COLUMN = 0,
OPTION_TYPE_COLUMN,
OPTION_NAME_COLUMN = 0,
OPTION_VALUE_COLUMN,
NB_COLUMNS,
OPTION_ID_COLUMN = 0,
OPTION_TYPE_COLUMN,
OPTION_NAME_COLUMN = 0,
OPTION_VALUE_COLUMN,
NB_COLUMNS,
};
//////////////////////////////////////////
@ -262,44 +262,44 @@ enum {
//////////////////////////////////////////
class MgAdaptAdvWidget : public QWidget
{
Q_OBJECT
Q_OBJECT
public:
MgAdaptAdvWidget( QWidget* = 0, std::vector <std::string> * = nullptr, Qt::WindowFlags = 0 );
~MgAdaptAdvWidget();
std::vector < std::string > * myOptions;
QGridLayout *gridLayout_4;
MgAdaptAdvWidgetTreeWidget *myOptionTable;
QPushButton *addBtn;
QSpacerItem *horizontalSpacer;
QGroupBox *logGroupBox;
QGridLayout *gridLayout_2;
QGridLayout *gridLayout;
QLabel *workingDirectoryLabel;
QLineEdit *workingDirectoryLineEdit;
QPushButton *workingDirectoryPushButton;
QLabel *verboseLevelLabel;
QSpinBox *verboseLevelSpin;
QHBoxLayout *horizontalLayout;
QCheckBox *logInFileCheck;
QCheckBox *removeLogOnSuccessCheck;
QCheckBox *keepWorkingFilesCheck;
MgAdaptAdvWidget( QWidget* = 0, std::vector <std::string> * = nullptr, Qt::WindowFlags = 0 );
~MgAdaptAdvWidget();
std::vector < std::string > * myOptions;
QGridLayout *gridLayout_4;
MgAdaptAdvWidgetTreeWidget *myOptionTable;
QPushButton *addBtn;
QSpacerItem *horizontalSpacer;
QGroupBox *logGroupBox;
QGridLayout *gridLayout_2;
QGridLayout *gridLayout;
QLabel *workingDirectoryLabel;
QLineEdit *workingDirectoryLineEdit;
QPushButton *workingDirectoryPushButton;
QLabel *verboseLevelLabel;
QSpinBox *verboseLevelSpin;
QHBoxLayout *horizontalLayout;
QCheckBox *logInFileCheck;
QCheckBox *removeLogOnSuccessCheck;
QCheckBox *keepWorkingFilesCheck;
void AddOption( const char* name_value_type, bool isCustom = false );
void GetOptionAndValue( QTreeWidgetItem * tblRow, QString& option, QString& value, bool& dflt );
void setupWidget();
void AddOption( const char* name_value_type, bool isCustom = false );
void GetOptionAndValue( QTreeWidgetItem * tblRow, QString& option, QString& value, bool& dflt );
void setupWidget();
public slots:
void onAddOption();
void itemChanged(QTreeWidgetItem * tblRow, int column);
void onMeshDimChanged(ADAPTATION_MODE aMode);
void onAddOption();
void itemChanged(QTreeWidgetItem * tblRow, int column);
void onMeshDimChanged(ADAPTATION_MODE aMode);
private slots:
void _onWorkingDirectoryPushButton();
void _onWorkingDirectoryPushButton();
private:
void setOptionValue(QString& option, QString& value);
std::map<QString, QTreeWidgetItem *> optionTreeWidgetItem;
void setOptionValue(QString& option, QString& value);
std::map<QString, QTreeWidgetItem *> optionTreeWidgetItem;
QTreeWidgetItem* getNewQTreeWidgetItem(QTreeWidget* table, const char* option, QString& name, bool isCustom);
QTreeWidgetItem* getNewQTreeWidgetItem(QTreeWidget* table, const char* option, QString& name, bool isCustom);
};
@ -307,26 +307,23 @@ enum { EDITABLE_ROLE = Qt::UserRole + 1, PARAM_NAME,
NAME_COL = 0, VALUE_COL
};
class ItemDelegate: public QItemDelegate
{
public:
ItemDelegate(QObject* parent=0): QItemDelegate(parent) {}
QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &o, const QModelIndex &index) const;
ItemDelegate(QObject* parent=0): QItemDelegate(parent) {}
QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &o, const QModelIndex &index) const;
};
class MgAdaptAdvWidgetTreeWidget : public QTreeWidget
{
Q_OBJECT
Q_OBJECT
public:
MgAdaptAdvWidgetTreeWidget( QWidget* );
MgAdaptAdvWidgetTreeWidget( QWidget* );
protected:
QModelIndex moveCursor( CursorAction, Qt::KeyboardModifiers );
void keyPressEvent( QKeyEvent* );
QModelIndex moveCursor( CursorAction, Qt::KeyboardModifiers );
void keyPressEvent( QKeyEvent* );
};
#endif // MG_ADAPTGUI_HXX

View File

@ -5154,7 +5154,7 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
lab = lab + tr("INFO_COMPUTE") + "<br/>";
lab = lab + tr("INFO_REFINE") + ":";
items << wrap(tr("INFO_REFINE_LOCAL_SIZE"), "li")
<< wrap(tr("INFO_REFINE_SUBMESH"), "li");
<< wrap(tr("INFO_REFINE_SUBMESH"), "li");
lab = lab + wrap(items.join(""), "ul");
items.clear();
@ -5162,11 +5162,11 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
gb = app->infoPanel()->addGroup(tr("INFO_GRP_IMPORT_MESH"));
items << wrap("UNV", "li")
<< wrap("MED", "li")
<< wrap("STL", "li")
<< wrap("CGNS", "li")
<< wrap("SAUV", "li")
<< wrap("GMF", "li");
<< wrap("MED", "li")
<< wrap("STL", "li")
<< wrap("CGNS", "li")
<< wrap("SAUV", "li")
<< wrap("GMF", "li");
lab = tr("INFO_AVAILABLE_FORMATS") + ":" + wrap(items.join(""), "ul");
items.clear();
@ -5175,9 +5175,9 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
gb = app->infoPanel()->addGroup(tr("INFO_GRP_CHECK_MESH"));
lab = tr("INFO_DISPLAY") + "<br/>";
items << wrap(tr("INFO_QUALITY_AREA"), "li")
<< wrap(tr("INFO_QUALITY_VOLUME"), "li")
<< wrap(tr("INFO_QUALITY_ASPECT_RATION"), "li")
<< wrap("...", "li");
<< wrap(tr("INFO_QUALITY_VOLUME"), "li")
<< wrap(tr("INFO_QUALITY_ASPECT_RATION"), "li")
<< wrap("...", "li");
lab = lab + tr("INFO_QUALITY_INFO") + ":" + wrap(items.join(""), "ul");
items.clear();
lab = lab + tr("INFO_CLIPPING");

View File

@ -146,7 +146,7 @@ bool SMESHGUI_AdaptDlg::OnGUIEvent (int theCommandID)
SMESH::MG_ADAPT_ptr model = SMESHGUI::GetSMESHGen()->CreateMG_ADAPT();
bool isCreation = false;
if (mySMESHGUI->isStudyLocked()) break;
if (mySMESHGUI->isStudyLocked()) break;
mySMESHGUI->EmitSignalDeactivateDialog();
SMESHGUI_MG_ADAPTDRIVER *mgAdapt = new SMESHGUI_MG_ADAPTDRIVER(mySMESHGUI, model, isCreation);
mgAdapt->show();

View File

@ -104,8 +104,8 @@
#include <TCollection_AsciiString.hxx>
const int SPACING = 6; // layout spacing
const int MARGIN = 9; // layout margin
const int SPACING = 6; // layout spacing
const int MARGIN = 9; // layout margin
SALOME_ListIO mySelected;
@ -116,8 +116,8 @@ SALOME_ListIO mySelected;
//================================================================
Handle(SALOME_InteractiveObject) firstIObject()
{
const SALOME_ListIO& aList = selectedIO();
return aList.Extent() > 0 ? aList.First() : Handle(SALOME_InteractiveObject)();
const SALOME_ListIO& aList = selectedIO();
return aList.Extent() > 0 ? aList.First() : Handle(SALOME_InteractiveObject)();
}
//================================================================
// Function : selectedIO
@ -125,15 +125,15 @@ Handle(SALOME_InteractiveObject) firstIObject()
//================================================================
const SALOME_ListIO& selectedIO()
{
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* > ( SUIT_Session::session()->activeApplication() );
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
SCRUTE(it.Value()->getEntry());
};
return mySelected;
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* > ( SUIT_Session::session()->activeApplication() );
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
SCRUTE(it.Value()->getEntry());
};
return mySelected;
}
//================================================================
// Function : getStudy
@ -141,76 +141,78 @@ const SALOME_ListIO& selectedIO()
//================================================================
_PTR(Study) getStudy()
{
static _PTR(Study) _study;
if(!_study)
_study = SalomeApp_Application::getStudy();
return _study;
static _PTR(Study) _study;
if(!_study)
_study = SalomeApp_Application::getStudy();
return _study;
}
bool createAndPublishMed(QString fileName)
{
SMESH::DriverMED_ReadStatus res;
SMESH::mesh_array_var aMeshes = new SMESH::mesh_array;
// SMESHGUI aGui;
SMESH::DriverMED_ReadStatus res;
SMESH::mesh_array_var aMeshes = new SMESH::mesh_array;
// SMESHGUI aGui;
aMeshes = SMESHGUI::GetSMESHGen()->CreateMeshesFromMED( fileName.toUtf8().constData(), res );
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshes[0] );
_PTR(Study) aStudy = SMESH::getStudy();
QStringList anEntryList;
// bool isEmpty;
if ( aMeshSO ) {
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( aMeshSO, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH_IMPORTED" );
anEntryList.append( aMeshSO->GetID().c_str() );
}
else {
// isEmpty = true;
return false;
}
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
aMeshes = SMESHGUI::GetSMESHGen()->CreateMeshesFromMED( fileName.toUtf8().constData(), res );
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshes[0] );
_PTR(Study) aStudy = SMESH::getStudy();
QStringList anEntryList;
// bool isEmpty;
if ( aMeshSO )
{
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( aMeshSO, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH_IMPORTED" );
anEntryList.append( aMeshSO->GetID().c_str() );
}
else
{
// isEmpty = true;
return false;
}
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
// browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
return true;
// browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
return true;
}
bool createMgAdaptObject(MgAdapt *myMgAdapt )
{
// SMESH::SMESH_Mesh_var newMesh = SMESHGUI::GetSMESHGen()->CreateEmptyMesh();
// SMESH::SMESH_Mesh_var newMesh = SMESHGUI::GetSMESHGen()->CreateEmptyMesh();
// _PTR(SObject) aHypothesis;
_PTR(Study) aStudy = SMESH::getStudy();
QStringList anEntryList;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(SComponent) mgadapt = aStudy->FindComponent("MG-ADAPT");
_PTR(GenericAttribute) ga;
if (!aBuilder->FindAttribute(mgadapt, ga, "AttributeName") )
{
mgadapt = aBuilder->NewComponent("MG-ADAPT");
_PTR(AttributeName) Name = aBuilder->FindOrCreateAttribute(mgadapt, "AttributeName");
Name->SetValue("MG-ADAPT");
_PTR(AttributePixMap) myPixmap = aBuilder->FindOrCreateAttribute( mgadapt, "AttributePixMap" );
myPixmap->SetPixMap( "ICON_MG_ADAPT" );
anEntryList.append( mgadapt->GetID().c_str() );
}
// _PTR(SObject) aHypothesis;
_PTR(Study) aStudy = SMESH::getStudy();
QStringList anEntryList;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(SComponent) mgadapt = aStudy->FindComponent("MG-ADAPT");
_PTR(GenericAttribute) ga;
if (!aBuilder->FindAttribute(mgadapt, ga, "AttributeName") )
{
mgadapt = aBuilder->NewComponent("MG-ADAPT");
_PTR(AttributeName) Name = aBuilder->FindOrCreateAttribute(mgadapt, "AttributeName");
Name->SetValue("MG-ADAPT");
_PTR(AttributePixMap) myPixmap = aBuilder->FindOrCreateAttribute( mgadapt, "AttributePixMap" );
myPixmap->SetPixMap( "ICON_MG_ADAPT" );
anEntryList.append( mgadapt->GetID().c_str() );
}
_PTR(SObject) obj = aBuilder->NewObject(mgadapt);
_PTR(AttributeName) myName = aBuilder->FindOrCreateAttribute(obj, "AttributeName");
myName->SetValue("hypo");
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( obj, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_HYPO" );
anEntryList.append( obj->GetID().c_str() );
_PTR(SObject) obj = aBuilder->NewObject(mgadapt);
_PTR(AttributeName) myName = aBuilder->FindOrCreateAttribute(obj, "AttributeName");
myName->SetValue("hypo");
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( obj, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_HYPO" );
anEntryList.append( obj->GetID().c_str() );
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
// // browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
return true;
// // browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
return true;
}
@ -221,122 +223,121 @@ bool createMgAdaptObject(MgAdapt *myMgAdapt )
//================================================================
int IObjectCount()
{
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
SCRUTE(mySelected.Extent());
return mySelected.Extent();
}
return 0;
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
SCRUTE(mySelected.Extent());
return mySelected.Extent();
}
return 0;
}
SMESHGUI_MG_ADAPTDRIVER::SMESHGUI_MG_ADAPTDRIVER( SMESHGUI* theModule, SMESH::MG_ADAPT_ptr myModel, bool isCreation )
: mySMESHGUI( theModule ),
myFilterDlg(0),
myIsApplyAndClose( false ),
SMESHGUI_MgAdaptDlg((SalomeApp_Module*)theModule, myModel, SMESHGUI::desktop(), isCreation)
: mySMESHGUI( theModule ),
myFilterDlg(0),
myIsApplyAndClose( false ),
SMESHGUI_MgAdaptDlg((SalomeApp_Module*)theModule, myModel, SMESHGUI::desktop(), isCreation)
{
resMgr = resourceMgr();
resMgr = resourceMgr();
selMgr = selectionMgr();
selMgr = selectionMgr();
// connections
connect(myArgs, SIGNAL(updateSelection()), this, SLOT(updateSelection()));
connect(myArgs, SIGNAL(toExportMED(const char*)), this, SLOT(exportMED(const char*)));
// connections
connect(myArgs, SIGNAL(updateSelection()), this, SLOT(updateSelection()));
connect(myArgs, SIGNAL(toExportMED(const char*)), this, SLOT(exportMED(const char*)));
}
SUIT_ResourceMgr* SMESHGUI_MG_ADAPTDRIVER::resourceMgr()
{
return dynamic_cast<SUIT_ResourceMgr*>( SUIT_Session::session()->resourceMgr() );
return dynamic_cast<SUIT_ResourceMgr*>( SUIT_Session::session()->resourceMgr() );
}
LightApp_SelectionMgr* SMESHGUI_MG_ADAPTDRIVER::selectionMgr()
{
SalomeApp_Application* anApp = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() );
if( anApp )
return dynamic_cast<LightApp_SelectionMgr*>( anApp->selectionMgr() );
else
return 0;
SalomeApp_Application* anApp = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() );
if( anApp )
return dynamic_cast<LightApp_SelectionMgr*>( anApp->selectionMgr() );
else
return 0;
}
void SMESHGUI_MG_ADAPTDRIVER::updateSelection()
{
disconnect( selMgr, 0, this, 0 );
selMgr->clearFilters();
disconnect( selMgr, 0, this, 0 );
selMgr->clearFilters();
SMESH::SetPointRepresentation( true );
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
aViewWindow->SetSelectionMode( ActorSelection );
if (myArgs->aBrowser->isChecked())
{
connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( selectionChanged() ));
selectionChanged();
}
SMESH::SetPointRepresentation( true );
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
aViewWindow->SetSelectionMode( ActorSelection );
if (myArgs->aBrowser->isChecked())
{
connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( selectionChanged() ));
selectionChanged();
}
}
void SMESHGUI_MG_ADAPTDRIVER::selectionChanged()
{
//~ get selected mesh
SALOME_ListIO aList;
selMgr->selectedObjects(aList);
QString aString = "";
int nbSel = aList.Extent();
if (nbSel != 1)
//~ get selected mesh
SALOME_ListIO aList;
selMgr->selectedObjects(aList);
QString aString = "";
int nbSel = aList.Extent();
if (nbSel != 1)
return;
Handle(SALOME_InteractiveObject) IO = aList.First();
SMESH::SMESH_Mesh_var mesh = SMESH::GetMeshByIO(IO);
if ( !mesh->_is_nil() )
{
myMesh = mesh;
mySelectedObject = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO );
if ( mySelectedObject->_is_nil() )
return;
}
else
return;
Handle(SALOME_InteractiveObject) IO = aList.First();
SMESH::SMESH_Mesh_var mesh = SMESH::GetMeshByIO(IO);
if ( !mesh->_is_nil() )
{
myMesh = mesh;
mySelectedObject = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO );
if ( mySelectedObject->_is_nil() )
return;
}
else
return;
SMESH::GetNameOfSelectedIObjects( selMgr, aString );
if ( aString.isEmpty() ) aString = " ";
else aString = aString.trimmed();
SMESH::GetNameOfSelectedIObjects( selMgr, aString );
if ( aString.isEmpty() ) aString = " ";
else aString = aString.trimmed();
bool ok = !aString.isEmpty();
if ( !mesh->_is_nil() )
{
myArgs->aBrowserObject->setText( aString );
myArgs->meshNameLineEdit->setText( aString );
myArgs->selectOutMedFileLineEdit->setText(aString+QString(".med"));
ADAPTATION_MODE aMode;
int nbVolumes = myMesh->NbVolumes();
int nbFaces = myMesh->NbFaces();
if(nbFaces > 0 && nbVolumes > 0) aMode = ADAPTATION_MODE::BOTH;
else if(nbFaces > 0) aMode = ADAPTATION_MODE::SURFACE;
else aMode = ADAPTATION_MODE::VOLUME;
emit myArgs->meshDimSignal(aMode);
}
bool ok = !aString.isEmpty();
if ( !mesh->_is_nil() )
{
myArgs->aBrowserObject->setText( aString );
myArgs->meshNameLineEdit->setText( aString );
myArgs->selectOutMedFileLineEdit->setText(aString+QString(".med"));
ADAPTATION_MODE aMode;
int nbVolumes = myMesh->NbVolumes();
int nbFaces = myMesh->NbFaces();
if(nbFaces > 0 && nbVolumes > 0) aMode = ADAPTATION_MODE::BOTH;
else if(nbFaces > 0) aMode = ADAPTATION_MODE::SURFACE;
else aMode = ADAPTATION_MODE::VOLUME;
emit myArgs->meshDimSignal(aMode);
}
}
void SMESHGUI_MG_ADAPTDRIVER::exportMED(const char* tmp_file)
{
bool toOverwrite = true;
bool toFindOutDim = true;
myMesh->ExportMED(tmp_file, false, -1, toOverwrite, toFindOutDim);
bool toOverwrite = true;
bool toFindOutDim = true;
myMesh->ExportMED(tmp_file, false, -1, toOverwrite, toFindOutDim);
}
void SMESHGUI_MG_ADAPTDRIVER::setMyMesh(SMESH::SMESH_Mesh_var mesh)
{
myMesh = mesh;
myMesh = mesh;
}
SMESH::SMESH_Mesh_var SMESHGUI_MG_ADAPTDRIVER::getMyMesh()
{
return myMesh;
return myMesh;
}
//=================================================================================
@ -345,43 +346,42 @@ SMESH::SMESH_Mesh_var SMESHGUI_MG_ADAPTDRIVER::getMyMesh()
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::clickOnOk()
{
setIsApplyAndClose( true );
clickOnApply();
reject();
setIsApplyAndClose( true );
clickOnApply();
reject();
}
bool SMESHGUI_MG_ADAPTDRIVER::clickOnApply()
{
if ( SMESHGUI::isStudyLocked() )
return false;
if( !isValid() )
return false;
if ( SMESHGUI::isStudyLocked() )
return false;
if( !isValid() )
return false;
SMESHGUI_MgAdaptDlg::clickOnApply();
SMESHGUI_MgAdaptDlg::clickOnApply();
bool ok = execute();
if (getModel()->getPublish()) this->createMeshInObjectBrowser();
bool ok = execute();
if (getModel()->getPublish()) this->createMeshInObjectBrowser();
return ok;
return ok;
}
bool SMESHGUI_MG_ADAPTDRIVER::execute()
{
int err;
//~std::string errStr;
char* errStr;
try
{
err = getModel()->compute();
errStr = getModel()->getErrMsg();
std::string msg = err == 0 ? " ok" : std::string("Not ok \n")+CORBA::string_dup(errStr) ;
}
catch (const std::exception& e)
{
std::cerr<<e.what();
}
return err == 0? true: false;
int err;
//~std::string errStr;
char* errStr;
try
{
err = getModel()->compute();
errStr = getModel()->getErrMsg();
std::string msg = err == 0 ? " ok" : std::string("Not ok \n")+CORBA::string_dup(errStr) ;
}
catch (const std::exception& e)
{
std::cerr<<e.what();
}
return err == 0? true: false;
}
//=================================================================================
@ -390,23 +390,23 @@ bool SMESHGUI_MG_ADAPTDRIVER::execute()
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::Init (bool ResetControls)
{
myBusy = false;
myBusy = false;
if ( ResetControls )
{
myLineEditElements->clear();
myNbOkElements = 0;
if ( ResetControls )
{
myLineEditElements->clear();
myNbOkElements = 0;
buttonOk->setEnabled(false);
buttonApply->setEnabled(false);
buttonOk->setEnabled(false);
buttonApply->setEnabled(false);
//~myActor = 0;
myMesh = SMESH::SMESH_Mesh::_nil();
//~myActor = 0;
myMesh = SMESH::SMESH_Mesh::_nil();
myIdSourceCheck->setChecked(true);
myIdSourceCheck->setChecked(true);
onConstructor( 0 );
}
onConstructor( 0 );
}
}
@ -418,23 +418,21 @@ void SMESHGUI_MG_ADAPTDRIVER::Init (bool ResetControls)
void SMESHGUI_MG_ADAPTDRIVER::onConstructor( int withGeom )
{
myGeomLabel ->setVisible( withGeom );
myGeomNameEdit ->setVisible( withGeom );
myReuseHypCheck ->setVisible( withGeom );
myCopyElementsCheck->setVisible( withGeom );
myFilterBtn ->setVisible( !withGeom );
myIdSourceCheck ->setVisible( !withGeom );
myGeomLabel ->setVisible( withGeom );
myGeomNameEdit ->setVisible( withGeom );
myReuseHypCheck ->setVisible( withGeom );
myCopyElementsCheck->setVisible( withGeom );
myFilterBtn ->setVisible( !withGeom );
myIdSourceCheck ->setVisible( !withGeom );
if ( !withGeom )
myMeshNameEdit->setText( SMESH::UniqueMeshName("Mesh"));
if ( !withGeom )
myMeshNameEdit->setText( SMESH::UniqueMeshName("Mesh"));
}
//~void SMESHGUI_MG_ADAPTDRIVER::onSelectIdSource( bool )
//~{}
//=================================================================================
// function : enterEvent()
// purpose :
@ -442,13 +440,13 @@ void SMESHGUI_MG_ADAPTDRIVER::onConstructor( int withGeom )
void SMESHGUI_MG_ADAPTDRIVER::enterEvent (QEvent*)
{
// if ( !ConstructorsBox->isEnabled() ) {
// SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
// if ( aViewWindow && !mySelector ) {
// mySelector = aViewWindow->GetSelector();
// }
// activateThisDialog();
// }
// if ( !ConstructorsBox->isEnabled() ) {
// SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
// if ( aViewWindow && !mySelector ) {
// mySelector = aViewWindow->GetSelector();
// }
// activateThisDialog();
// }
}
@ -459,14 +457,15 @@ void SMESHGUI_MG_ADAPTDRIVER::enterEvent (QEvent*)
void SMESHGUI_MG_ADAPTDRIVER::keyPressEvent( QKeyEvent* e )
{
QDialog::keyPressEvent( e );
if ( e->isAccepted() )
return;
QDialog::keyPressEvent( e );
if ( e->isAccepted() )
return;
if ( e->key() == Qt::Key_F1 ) {
e->accept();
clickOnHelp();
}
if ( e->key() == Qt::Key_F1 )
{
e->accept();
clickOnHelp();
}
}
@ -477,22 +476,21 @@ void SMESHGUI_MG_ADAPTDRIVER::keyPressEvent( QKeyEvent* e )
void SMESHGUI_MG_ADAPTDRIVER::clickOnHelp()
{
LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
if (app)
app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
else {
QString platform;
LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
if (app)
app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
else {
QString platform;
#ifdef WIN32
platform = "winapplication";
platform = "winapplication";
#else
platform = "application";
platform = "application";
#endif
SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
arg(app->resourceMgr()->stringValue("ExternalBrowser",
platform)).
arg(myHelpFileName));
}
SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
arg(app->resourceMgr()->stringValue("ExternalBrowser",platform)).
arg(myHelpFileName));
}
}
@ -502,74 +500,74 @@ void SMESHGUI_MG_ADAPTDRIVER::clickOnHelp()
//=======================================================================
QString SMESHGUI_MG_ADAPTDRIVER::getErrorMsg( SMESH::string_array_var theInvalidEntries,
QStringList & theEntriesToBrowse )
QStringList & theEntriesToBrowse )
{
if ( theInvalidEntries->length() == 0 )
return tr("OPERATION_FAILED");
if ( theInvalidEntries->length() == 0 )
return tr("OPERATION_FAILED");
// theInvalidEntries - SObject's that hold geometry objects whose
// counterparts are not found in the newGeometry, followed by SObject's
// holding mesh sub-objects that are invalid because they depend on a not found
// preceding sub-shape
// theInvalidEntries - SObject's that hold geometry objects whose
// counterparts are not found in the newGeometry, followed by SObject's
// holding mesh sub-objects that are invalid because they depend on a not found
// preceding sub-shape
QString msg = tr("SUBSHAPES_NOT_FOUND_MSG") + "\n";
QString msg = tr("SUBSHAPES_NOT_FOUND_MSG") + "\n";
QString objString;
for ( CORBA::ULong i = 0; i < theInvalidEntries->length(); ++i )
QString objString;
for ( CORBA::ULong i = 0; i < theInvalidEntries->length(); ++i )
{
_PTR(SObject) so = SMESH::getStudy()->FindObjectID( theInvalidEntries[i].in() );
int objType = SMESHGUI_Selection::type( theInvalidEntries[i].in() );
if ( objType < 0 ) // geom object
{
_PTR(SObject) so = SMESH::getStudy()->FindObjectID( theInvalidEntries[i].in() );
int objType = SMESHGUI_Selection::type( theInvalidEntries[i].in() );
if ( objType < 0 ) // geom object
{
objString += "\n";
if ( so )
objString += so->GetName().c_str();
else
objString += theInvalidEntries[i].in(); // it's something like "FACE #2"
}
else // smesh object
{
theEntriesToBrowse.push_back( theInvalidEntries[i].in() );
objString += "\n ";
switch ( objType ) {
case SMESH::MESH:
objString += tr("SMESH_MESH");
break;
case SMESH::HYPOTHESIS:
objString += tr("SMESH_HYPOTHESIS");
break;
case SMESH::ALGORITHM:
objString += tr("SMESH_ALGORITHM");
break;
case SMESH::SUBMESH_VERTEX:
case SMESH::SUBMESH_EDGE:
case SMESH::SUBMESH_FACE:
case SMESH::SUBMESH_SOLID:
case SMESH::SUBMESH_COMPOUND:
case SMESH::SUBMESH:
objString += tr("SMESH_SUBMESH");
break;
case SMESH::GROUP:
objString += tr("SMESH_GROUP");
break;
default:
;
}
objString += " \"";
if ( so )
objString += so->GetName().c_str();
objString += "\" (";
objString += theInvalidEntries[i].in();
objString += ")";
}
objString += "\n";
if ( so )
objString += so->GetName().c_str();
else
objString += theInvalidEntries[i].in(); // it's something like "FACE #2"
}
if ( !objString.isEmpty() )
msg += objString;
else // smesh object
{
theEntriesToBrowse.push_back( theInvalidEntries[i].in() );
return msg;
objString += "\n ";
switch ( objType ) {
case SMESH::MESH:
objString += tr("SMESH_MESH");
break;
case SMESH::HYPOTHESIS:
objString += tr("SMESH_HYPOTHESIS");
break;
case SMESH::ALGORITHM:
objString += tr("SMESH_ALGORITHM");
break;
case SMESH::SUBMESH_VERTEX:
case SMESH::SUBMESH_EDGE:
case SMESH::SUBMESH_FACE:
case SMESH::SUBMESH_SOLID:
case SMESH::SUBMESH_COMPOUND:
case SMESH::SUBMESH:
objString += tr("SMESH_SUBMESH");
break;
case SMESH::GROUP:
objString += tr("SMESH_GROUP");
break;
default:
;
}
objString += " \"";
if ( so )
objString += so->GetName().c_str();
objString += "\" (";
objString += theInvalidEntries[i].in();
objString += ")";
}
}
if ( !objString.isEmpty() )
msg += objString;
return msg;
}
//=================================================================================
@ -579,64 +577,66 @@ QString SMESHGUI_MG_ADAPTDRIVER::getErrorMsg( SMESH::string_array_var theInvalid
bool SMESHGUI_MG_ADAPTDRIVER::isValid()
{
bool ok = true;
return ok;
bool ok = true;
return ok;
}
bool SMESHGUI_MG_ADAPTDRIVER::createMeshInObjectBrowser()
{
QString filename(getModel()->getMedFileOut());
QStringList errors;
QStringList anEntryList;
bool isEmpty = false;
bool ok = false;
SMESH::SMESH_Gen_var SMESH_Gen_ptr = SMESHGUI::GetSMESHGen();
if (!SMESH_Gen_ptr) {
std::cerr << "Could not retrieve SMESH_Gen_ptr" << std::endl;
throw SALOME_Exception(LOCALIZED("Could not retrieve SMESH::GetSMESHGen()"));
}
SMESH::mesh_array_var aMeshes = new SMESH::mesh_array;
aMeshes->length( 1 ); // one mesh only
SMESH::DriverMED_ReadStatus res;
aMeshes = SMESH_Gen_ptr->CreateMeshesFromMED( filename.toUtf8().constData(), res );
if ( res != SMESH::DRS_OK ) {
errors.append( QString( "%1 :\n\t%2" ).arg( filename ).arg( QObject::tr( QString( "SMESH_DRS_%1" ).arg( res ).toLatin1().data() ) ) );
}
_PTR(Study) aStudy = SMESH::getStudy();
for ( int i = 0, iEnd = aMeshes->length(); i < iEnd; i++ )
QString filename(getModel()->getMedFileOut());
QStringList errors;
QStringList anEntryList;
bool isEmpty = false;
bool ok = false;
SMESH::SMESH_Gen_var SMESH_Gen_ptr = SMESHGUI::GetSMESHGen();
if (!SMESH_Gen_ptr) {
std::cerr << "Could not retrieve SMESH_Gen_ptr" << std::endl;
throw SALOME_Exception(LOCALIZED("Could not retrieve SMESH::GetSMESHGen()"));
}
SMESH::mesh_array_var aMeshes = new SMESH::mesh_array;
aMeshes->length( 1 ); // one mesh only
SMESH::DriverMED_ReadStatus res;
aMeshes = SMESH_Gen_ptr->CreateMeshesFromMED( filename.toUtf8().constData(), res );
if ( res != SMESH::DRS_OK ) {
errors.append( QString( "%1 :\n\t%2" ).arg( filename ).arg( QObject::tr( QString( "SMESH_DRS_%1" ).arg( res ).toLatin1().data() ) ) );
}
_PTR(Study) aStudy = SMESH::getStudy();
for ( int i = 0, iEnd = aMeshes->length(); i < iEnd; i++ )
{
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshes[i] );
if ( aMeshSO )
{
_PTR(SObject) aMeshSO = SMESH::FindSObject( aMeshes[i] );
if ( aMeshSO ) {
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( aMeshSO, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH_IMPORTED" ); // put REFINED mesh ico
anEntryList.append( aMeshSO->GetID().c_str() );
}
else {
isEmpty = true;
}
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
_PTR(AttributePixMap) aPixmap = aBuilder->FindOrCreateAttribute( aMeshSO, "AttributePixMap" );
aPixmap->SetPixMap( "ICON_SMESH_TREE_MESH_IMPORTED" ); // put REFINED mesh ico
anEntryList.append( aMeshSO->GetID().c_str() );
}
// update Object browser
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
// browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
else
{
isEmpty = true;
}
}
// update Object browser
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
// browse to the published meshes
if( LightApp_Application* anApp =
dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
anApp->browseObjects( anEntryList );
// show Error message box if there were errors
if ( errors.count() > 0 ) {
SUIT_MessageBox::critical( SMESHGUI::desktop(),
QObject::tr( "SMESH_ERROR" ),
QObject::tr( "SMESH_IMPORT_ERRORS" ) + "\n" + errors.join( "\n" ) );
}
// show Error message box if there were errors
if ( errors.count() > 0 ) {
SUIT_MessageBox::critical( SMESHGUI::desktop(),
QObject::tr( "SMESH_ERROR" ),
QObject::tr( "SMESH_IMPORT_ERRORS" ) + "\n" + errors.join( "\n" ) );
}
// show warning message box, if some imported mesh is empty
if ( isEmpty ) {
SUIT_MessageBox::warning( SMESHGUI::desktop(),
QObject::tr( "SMESH_WRN_WARNING" ),
QObject::tr( "SMESH_DRS_SOME_EMPTY" ) );
}
return true;
// show warning message box, if some imported mesh is empty
if ( isEmpty ) {
SUIT_MessageBox::warning( SMESHGUI::desktop(),
QObject::tr( "SMESH_WRN_WARNING" ),
QObject::tr( "SMESH_DRS_SOME_EMPTY" ) );
}
return true;
}
//================================================================
@ -646,7 +646,7 @@ bool SMESHGUI_MG_ADAPTDRIVER::createMeshInObjectBrowser()
//================================================================
void SMESHGUI_MG_ADAPTDRIVER::setIsApplyAndClose( const bool theFlag )
{
myIsApplyAndClose = theFlag;
myIsApplyAndClose = theFlag;
}//================================================================
// function : isApplyAndClose
// Purpose : Get value of the flag indicating that the dialog is
@ -654,7 +654,7 @@ void SMESHGUI_MG_ADAPTDRIVER::setIsApplyAndClose( const bool theFlag )
//================================================================
bool SMESHGUI_MG_ADAPTDRIVER::isApplyAndClose() const
{
return myIsApplyAndClose;
return myIsApplyAndClose;
}
//=================================================================================
@ -663,16 +663,16 @@ bool SMESHGUI_MG_ADAPTDRIVER::isApplyAndClose() const
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::deactivateActiveDialog()
{
if (ConstructorsBox->isEnabled()) {
ConstructorsBox->setEnabled(false);
GroupArguments->setEnabled(false);
GroupButtons->setEnabled(false);
mySMESHGUI->ResetState();
mySMESHGUI->SetActiveDialogBox(0);
if ( selMgr )
selMgr->removeFilter( myIdSourceFilter );
}
if (ConstructorsBox->isEnabled())
{
ConstructorsBox->setEnabled(false);
GroupArguments->setEnabled(false);
GroupButtons->setEnabled(false);
mySMESHGUI->ResetState();
mySMESHGUI->SetActiveDialogBox(0);
if ( selMgr )
selMgr->removeFilter( myIdSourceFilter );
}
}
//=================================================================================
@ -682,17 +682,17 @@ void SMESHGUI_MG_ADAPTDRIVER::deactivateActiveDialog()
void SMESHGUI_MG_ADAPTDRIVER::activateThisDialog()
{
/* Emit a signal to deactivate the active dialog */
// mySMESHGUI->EmitSignalDeactivateDialog();
// ConstructorsBox->setEnabled(true);
// GroupArguments->setEnabled(true);
// GroupButtons->setEnabled(true);
/* Emit a signal to deactivate the active dialog */
// mySMESHGUI->EmitSignalDeactivateDialog();
// ConstructorsBox->setEnabled(true);
// GroupArguments->setEnabled(true);
// GroupButtons->setEnabled(true);
// mySMESHGUI->SetActiveDialogBox((QDialog*)this);
// mySMESHGUI->SetActiveDialogBox((QDialog*)this);
// onSelectIdSource( myIdSourceCheck->isChecked() );
// onSelectIdSource( myIdSourceCheck->isChecked() );
// SelectionIntoArgument();
// SelectionIntoArgument();
}
//=================================================================================
@ -701,29 +701,30 @@ void SMESHGUI_MG_ADAPTDRIVER::activateThisDialog()
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::setFilters()
{
if(myMesh->_is_nil()) {
SUIT_MessageBox::critical(this,
tr("SMESH_ERROR"),
tr("NO_MESH_SELECTED"));
return;
}
if ( !myFilterDlg )
myFilterDlg = new SMESHGUI_FilterDlg( mySMESHGUI, SMESH::ALL );
if(myMesh->_is_nil())
{
SUIT_MessageBox::critical(this,
tr("SMESH_ERROR"),
tr("NO_MESH_SELECTED"));
return;
}
if ( !myFilterDlg )
myFilterDlg = new SMESHGUI_FilterDlg( mySMESHGUI, SMESH::ALL );
QList<int> types;
if ( myMesh->NbEdges() ) types << SMESH::EDGE;
if ( myMesh->NbFaces() ) types << SMESH::FACE;
if ( myMesh->NbVolumes() ) types << SMESH::VOLUME;
if ( myMesh->NbBalls() ) types << SMESH::BALL;
if ( myMesh->Nb0DElements()) types << SMESH::ELEM0D;
if ( types.count() > 1 ) types << SMESH::ALL;
QList<int> types;
if ( myMesh->NbEdges() ) types << SMESH::EDGE;
if ( myMesh->NbFaces() ) types << SMESH::FACE;
if ( myMesh->NbVolumes() ) types << SMESH::VOLUME;
if ( myMesh->NbBalls() ) types << SMESH::BALL;
if ( myMesh->Nb0DElements()) types << SMESH::ELEM0D;
if ( types.count() > 1 ) types << SMESH::ALL;
myFilterDlg->Init( types );
myFilterDlg->SetSelection();
myFilterDlg->SetMesh( myMesh );
myFilterDlg->SetSourceWg( myLineEditElements );
myFilterDlg->Init( types );
myFilterDlg->SetSelection();
myFilterDlg->SetMesh( myMesh );
myFilterDlg->SetSourceWg( myLineEditElements );
myFilterDlg->show();
myFilterDlg->show();
}
//=================================================================================
@ -732,13 +733,13 @@ void SMESHGUI_MG_ADAPTDRIVER::setFilters()
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::onOpenView()
{
if ( mySelector ) {
SMESH::SetPointRepresentation(false);
}
else {
mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector();
activateThisDialog();
}
if ( mySelector ) {
SMESH::SetPointRepresentation(false);
}
else {
mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector();
activateThisDialog();
}
}
//=================================================================================
@ -747,6 +748,6 @@ void SMESHGUI_MG_ADAPTDRIVER::onOpenView()
//=================================================================================
void SMESHGUI_MG_ADAPTDRIVER::onCloseView()
{
deactivateActiveDialog();
mySelector = 0;
deactivateActiveDialog();
mySelector = 0;
}

View File

@ -40,61 +40,61 @@
using namespace SMESH;
void MG_ADAPT_i::copyHypothesisDataToImpl(const SMESH::MgAdaptHypothesisData& from, ::MG_ADAPT::MgAdaptHypothesisData* to) const
{
to->myFileInDir = from.myFileInDir;
to->myMeshFileIn = from.myMeshFileIn;
to->myMeshFileBackground = from.myMeshFileBackground;
to->myOutMeshName = from.myOutMeshName;
to->myMeshFileOut = from.myMeshFileOut;
to->myFileOutDir = from.myFileOutDir;
to->myFileSizeMapDir = from.myFileSizeMapDir;
to->myFieldName = from.myFieldName;
to->fromMedFile = from.fromMedFile;
to->myPublish = from.myPublish;
to->myMeshOutMed = from.myMeshOutMed;
to->myUseLocalMap = from.myUseLocalMap;
to->myUseBackgroundMap = from.myUseBackgroundMap;
to->myUseConstantValue = from.myUseConstantValue;
to->myConstantValue = from.myConstantValue;
to->myTimeStep = from.myTimeStep;
to->myRank = from.myRank;
to->myUseNoTimeStep = from.myUseNoTimeStep;
to->myUseLastTimeStep = from.myUseLastTimeStep;
to->myUseChosenTimeStep = from.myUseChosenTimeStep;
to->myWorkingDir = from.myWorkingDir;
to->myLogFile = from.myLogFile;
to->myPrintLogInFile = from.myPrintLogInFile;
to->myKeepFiles = from.myKeepFiles;
to->myRemoveLogOnSuccess = from.myRemoveLogOnSuccess;
to->myVerboseLevel = from.myVerboseLevel;
to->myFileInDir = from.myFileInDir;
to->myMeshFileIn = from.myMeshFileIn;
to->myMeshFileBackground = from.myMeshFileBackground;
to->myOutMeshName = from.myOutMeshName;
to->myMeshFileOut = from.myMeshFileOut;
to->myFileOutDir = from.myFileOutDir;
to->myFileSizeMapDir = from.myFileSizeMapDir;
to->myFieldName = from.myFieldName;
to->fromMedFile = from.fromMedFile;
to->myPublish = from.myPublish;
to->myMeshOutMed = from.myMeshOutMed;
to->myUseLocalMap = from.myUseLocalMap;
to->myUseBackgroundMap = from.myUseBackgroundMap;
to->myUseConstantValue = from.myUseConstantValue;
to->myConstantValue = from.myConstantValue;
to->myTimeStep = from.myTimeStep;
to->myRank = from.myRank;
to->myUseNoTimeStep = from.myUseNoTimeStep;
to->myUseLastTimeStep = from.myUseLastTimeStep;
to->myUseChosenTimeStep = from.myUseChosenTimeStep;
to->myWorkingDir = from.myWorkingDir;
to->myLogFile = from.myLogFile;
to->myPrintLogInFile = from.myPrintLogInFile;
to->myKeepFiles = from.myKeepFiles;
to->myRemoveLogOnSuccess = from.myRemoveLogOnSuccess;
to->myVerboseLevel = from.myVerboseLevel;
}
void MG_ADAPT_i::copyHypothesisDataFromImpl(const ::MG_ADAPT::MgAdaptHypothesisData* from, SMESH::MgAdaptHypothesisData* to) const
{
to->myFileInDir = CORBA::string_dup(from->myFileInDir.c_str());
to->myMeshFileIn = CORBA::string_dup(from->myMeshFileIn.c_str());
to->myMeshFileBackground = CORBA::string_dup(from->myMeshFileBackground.c_str());
to->myOutMeshName = CORBA::string_dup(from->myOutMeshName.c_str());
to->myMeshFileOut = CORBA::string_dup(from->myMeshFileOut.c_str());
to->myFileOutDir = CORBA::string_dup(from->myFileOutDir.c_str());
to->myFileSizeMapDir = CORBA::string_dup(from->myFileSizeMapDir.c_str());
to->myFieldName = CORBA::string_dup(from->myFieldName.c_str());
to->fromMedFile = from->fromMedFile;
to->myPublish = from->myPublish;
to->myMeshOutMed = from->myMeshOutMed;
to->myUseLocalMap = from->myUseLocalMap;
to->myUseBackgroundMap = from->myUseBackgroundMap;
to->myUseConstantValue = from->myUseConstantValue;
to->myConstantValue = from->myConstantValue;
to->myTimeStep = from->myTimeStep;
to->myRank = from->myRank;
to->myUseNoTimeStep = from->myUseNoTimeStep;
to->myUseLastTimeStep = from->myUseLastTimeStep;
to->myUseChosenTimeStep = from->myUseChosenTimeStep;
to->myWorkingDir = CORBA::string_dup(from->myWorkingDir.c_str());
to->myLogFile = CORBA::string_dup(from->myLogFile.c_str());
to->myPrintLogInFile = from->myPrintLogInFile;
to->myKeepFiles = from->myKeepFiles;
to->myRemoveLogOnSuccess = from->myRemoveLogOnSuccess;
to->myVerboseLevel = from->myVerboseLevel;
to->myFileInDir = CORBA::string_dup(from->myFileInDir.c_str());
to->myMeshFileIn = CORBA::string_dup(from->myMeshFileIn.c_str());
to->myMeshFileBackground = CORBA::string_dup(from->myMeshFileBackground.c_str());
to->myOutMeshName = CORBA::string_dup(from->myOutMeshName.c_str());
to->myMeshFileOut = CORBA::string_dup(from->myMeshFileOut.c_str());
to->myFileOutDir = CORBA::string_dup(from->myFileOutDir.c_str());
to->myFileSizeMapDir = CORBA::string_dup(from->myFileSizeMapDir.c_str());
to->myFieldName = CORBA::string_dup(from->myFieldName.c_str());
to->fromMedFile = from->fromMedFile;
to->myPublish = from->myPublish;
to->myMeshOutMed = from->myMeshOutMed;
to->myUseLocalMap = from->myUseLocalMap;
to->myUseBackgroundMap = from->myUseBackgroundMap;
to->myUseConstantValue = from->myUseConstantValue;
to->myConstantValue = from->myConstantValue;
to->myTimeStep = from->myTimeStep;
to->myRank = from->myRank;
to->myUseNoTimeStep = from->myUseNoTimeStep;
to->myUseLastTimeStep = from->myUseLastTimeStep;
to->myUseChosenTimeStep = from->myUseChosenTimeStep;
to->myWorkingDir = CORBA::string_dup(from->myWorkingDir.c_str());
to->myLogFile = CORBA::string_dup(from->myLogFile.c_str());
to->myPrintLogInFile = from->myPrintLogInFile;
to->myKeepFiles = from->myKeepFiles;
to->myRemoveLogOnSuccess = from->myRemoveLogOnSuccess;
to->myVerboseLevel = from->myVerboseLevel;
}
SMESH::MG_ADAPT_ptr SMESH_Gen_i::CreateMG_ADAPT()
{
@ -111,12 +111,12 @@ SMESH::MG_ADAPT_ptr SMESH_Gen_i::CreateAdaptationHypothesis()
SMESH::MG_ADAPT_OBJECT_ptr SMESH_Gen_i::Adaptation( const char* adaptationType)
{
if (!strcmp(adaptationType, "MG_Adapt")){
SMESH::MG_ADAPT_OBJECT_i* mg_adapt_object = new SMESH::MG_ADAPT_OBJECT_i();
SMESH::MG_ADAPT_OBJECT_var anObj = mg_adapt_object->_this();
return anObj._retn();
}
if (!strcmp(adaptationType, "MG_Adapt"))
{
SMESH::MG_ADAPT_OBJECT_i* mg_adapt_object = new SMESH::MG_ADAPT_OBJECT_i();
SMESH::MG_ADAPT_OBJECT_var anObj = mg_adapt_object->_this();
return anObj._retn();
}
}
//~SMESH::MG_ADAPT_ptr MG_ADAPT_i::CreateMG_ADAPT()
@ -165,181 +165,180 @@ MG_ADAPT_i::~MG_ADAPT_i()
}
void MG_ADAPT_i::setData( SMESH::MgAdaptHypothesisData& data)
{
::MG_ADAPT::MgAdaptHypothesisData* baseData = new ::MG_ADAPT::MgAdaptHypothesisData();
copyHypothesisDataToImpl(data, baseData);
myMgAdapt->setData(baseData);
delete baseData;
::MG_ADAPT::MgAdaptHypothesisData* baseData = new ::MG_ADAPT::MgAdaptHypothesisData();
copyHypothesisDataToImpl(data, baseData);
myMgAdapt->setData(baseData);
delete baseData;
}
void MG_ADAPT_i::setMedFileIn(const char* str)
{
myMgAdapt->setMedFileIn(str);
myMgAdapt->setMedFileIn(str);
}
char* MG_ADAPT_i::getMedFileIn()
{
return CORBA::string_dup(myMgAdapt->getMedFileIn().c_str());
return CORBA::string_dup(myMgAdapt->getMedFileIn().c_str());
}
void MG_ADAPT_i::setMedFileOut(const char* str)
{
myMgAdapt->setMedFileOut(str);
myMgAdapt->setMedFileOut(str);
}
char* MG_ADAPT_i::getMedFileOut()
{
return CORBA::string_dup(myMgAdapt->getMedFileOut().c_str());
return CORBA::string_dup(myMgAdapt->getMedFileOut().c_str());
}
void MG_ADAPT_i::setMeshName(const char* str)
{
myMgAdapt->setMeshName(str);
myMgAdapt->setMeshName(str);
}
char* MG_ADAPT_i::getMeshName()
{
return CORBA::string_dup(myMgAdapt->getMeshName().c_str());
return CORBA::string_dup(myMgAdapt->getMeshName().c_str());
}
void MG_ADAPT_i::setMeshNameOut(const char* str)
{
myMgAdapt->setMeshNameOut(str);
myMgAdapt->setMeshNameOut(str);
}
char* MG_ADAPT_i::getMeshNameOut()
{
return CORBA::string_dup(myMgAdapt->getMeshNameOut().c_str());
return CORBA::string_dup(myMgAdapt->getMeshNameOut().c_str());
}
void MG_ADAPT_i::setMeshOutMed(bool mybool)
{
myMgAdapt->setMeshOutMed(mybool);
myMgAdapt->setMeshOutMed(mybool);
}
bool MG_ADAPT_i::getMeshOutMed()
{
return myMgAdapt->getMeshOutMed();
return myMgAdapt->getMeshOutMed();
}
void MG_ADAPT_i::setPublish(bool mybool)
{
myMgAdapt->setPublish(mybool);
myMgAdapt->setPublish(mybool);
}
bool MG_ADAPT_i::getPublish()
{
return myMgAdapt->getPublish();
return myMgAdapt->getPublish();
}
void MG_ADAPT_i::setSizeMapFieldName(const char* str)
{
myMgAdapt->setFieldName(str);
myMgAdapt->setFieldName(str);
}
char* MG_ADAPT_i::getSizeMapFieldName()
{
return CORBA::string_dup(myMgAdapt->getFieldName().c_str());
return CORBA::string_dup(myMgAdapt->getFieldName().c_str());
}
void MG_ADAPT_i::setTimeStep(CORBA::Long t)
{
myMgAdapt->setTimeStep(t);
myMgAdapt->setTimeStep(t);
}
CORBA::Long MG_ADAPT_i::getTimeStep()
{
return myMgAdapt->getTimeStep();
return myMgAdapt->getTimeStep();
}
void MG_ADAPT_i::setTimeStepRank(CORBA::Long t, CORBA::Long r)
{
myMgAdapt->setChosenTimeStepRank();
myMgAdapt->setRankTimeStep(t, r);
myMgAdapt->setChosenTimeStepRank();
myMgAdapt->setRankTimeStep(t, r);
}
CORBA::Long MG_ADAPT_i::getRank()
{
return myMgAdapt->getRank();
return myMgAdapt->getRank();
}
void MG_ADAPT_i::setTimeStepRankLast()
{
myMgAdapt->setTimeStepRankLast();
myMgAdapt->setTimeStepRankLast();
}
void MG_ADAPT_i::setNoTimeStep()
{
myMgAdapt->setNoTimeStep();
myMgAdapt->setNoTimeStep();
}
void MG_ADAPT_i::setLogFile(const char* str)
{
myMgAdapt->setLogFile(str);
myMgAdapt->setLogFile(str);
}
char* MG_ADAPT_i::getLogFile()
{
return CORBA::string_dup(myMgAdapt->getLogFile().c_str());
return CORBA::string_dup(myMgAdapt->getLogFile().c_str());
}
void MG_ADAPT_i::setVerbosityLevel(CORBA::Long v)
{
myMgAdapt->setVerbosityLevel(v);
myMgAdapt->setVerbosityLevel(v);
}
CORBA::Long MG_ADAPT_i::getVerbosityLevel()
{
return myMgAdapt->getVerbosityLevel();
return myMgAdapt->getVerbosityLevel();
}
void MG_ADAPT_i::setRemoveOnSuccess(bool mybool)
{
myMgAdapt->setRemoveOnSuccess(mybool);
myMgAdapt->setRemoveOnSuccess(mybool);
}
bool MG_ADAPT_i::getRemoveOnSuccess()
{
myMgAdapt->getRemoveOnSuccess();
myMgAdapt->getRemoveOnSuccess();
}
SMESH::MgAdaptHypothesisData* MG_ADAPT_i::getData()
{
SMESH::MgAdaptHypothesisData* result = new SMESH::MgAdaptHypothesisData();
::MG_ADAPT::MgAdaptHypothesisData* from = myMgAdapt->getData();
copyHypothesisDataFromImpl(from, result);
return result;
SMESH::MgAdaptHypothesisData* result = new SMESH::MgAdaptHypothesisData();
::MG_ADAPT::MgAdaptHypothesisData* from = myMgAdapt->getData();
copyHypothesisDataFromImpl(from, result);
return result;
}
void MG_ADAPT_i::setUseLocalMap(bool mybool)
{
myMgAdapt->setUseLocalMap(mybool);
myMgAdapt->setUseLocalMap(mybool);
}
bool MG_ADAPT_i::getUseLocalMap()
{
return myMgAdapt->getUseLocalMap();
return myMgAdapt->getUseLocalMap();
}
void MG_ADAPT_i::setUseBackgroundMap(bool mybool)
{
myMgAdapt->setUseBackgroundMap(mybool);
myMgAdapt->setUseBackgroundMap(mybool);
}
bool MG_ADAPT_i::getUseBackgroundMap()
{
return myMgAdapt->getUseBackgroundMap();
return myMgAdapt->getUseBackgroundMap();
}
void MG_ADAPT_i::setUseConstantValue(bool mybool)
{
myMgAdapt->setUseConstantValue(mybool);
myMgAdapt->setUseConstantValue(mybool);
}
bool MG_ADAPT_i::getUseConstantValue()
{
return myMgAdapt->getUseConstantValue();
return myMgAdapt->getUseConstantValue();
}
void MG_ADAPT_i::setConstantSize(double value)
{
myMgAdapt->setConstantValue(value);
myMgAdapt->setConstantValue(value);
}
double MG_ADAPT_i::getConstantSize()
{
return myMgAdapt->getConstantValue();
return myMgAdapt->getConstantValue();
}
void MG_ADAPT_i::setSizeMapFile(const char* str)
{
myMgAdapt->setSizeMapFile(str);
myMgAdapt->setSizeMapFile(str);
}
char* MG_ADAPT_i::getSizeMapFile()
{
return CORBA::string_dup(myMgAdapt->getSizeMapFile().c_str());
return CORBA::string_dup(myMgAdapt->getSizeMapFile().c_str());
}
void MG_ADAPT_i::setFromMedFile(bool mybool)
{
myMgAdapt->setFromMedFile(mybool);
myMgAdapt->setFromMedFile(mybool);
}
bool MG_ADAPT_i::isFromMedFile()
{
return myMgAdapt->isFromMedFile();
return myMgAdapt->isFromMedFile();
}
void MG_ADAPT_i::setKeepWorkingFiles(bool mybool)
{
myMgAdapt->setKeepWorkingFiles(mybool);
myMgAdapt->setKeepWorkingFiles(mybool);
}
bool MG_ADAPT_i::getKeepWorkingFiles()
{
return myMgAdapt->getKeepWorkingFiles();
return myMgAdapt->getKeepWorkingFiles();
}
//~void MG_ADAPT_i::setPrCORBA::LongLogInFile(bool);
@ -347,193 +346,193 @@ bool MG_ADAPT_i::getKeepWorkingFiles()
void MG_ADAPT_i::setSizeMapType(const char* type)
{
setUseLocalMap(false);
setUseBackgroundMap(false);
setUseConstantValue(false);
setUseLocalMap(false);
setUseBackgroundMap(false);
setUseConstantValue(false);
if (!strcmp("Local", type))
setUseLocalMap(true);
else if (!strcmp("Background", type))
setUseBackgroundMap(true);
else
setUseConstantValue(true);
if (!strcmp("Local", type))
setUseLocalMap(true);
else if (!strcmp("Background", type))
setUseBackgroundMap(true);
else
setUseConstantValue(true);
}
void MG_ADAPT_i::setWorkingDir(const char* dir)
{
myMgAdapt->setWorkingDir(dir);
myMgAdapt->setWorkingDir(dir);
}
char* MG_ADAPT_i::getWorkingDir()
{
return CORBA::string_dup(myMgAdapt->getWorkingDir().c_str());
return CORBA::string_dup(myMgAdapt->getWorkingDir().c_str());
}
bool MG_ADAPT_i::setAll()
{
return myMgAdapt->setAll();
return myMgAdapt->setAll();
}
char* MG_ADAPT_i::getCommandToRun()
{
return CORBA::string_dup(myMgAdapt->getCommandToRun().c_str());
return CORBA::string_dup(myMgAdapt->getCommandToRun().c_str());
}
//~CORBA::Long MG_ADAPT_i::compute(::CORBA::String_out errStr)
//~{
//~std::string err("");
//~CORBA::Long ret = myMgAdapt->compute(err);
//~errStr = err.c_str();
//~return ret;
//~std::string err("");
//~CORBA::Long ret = myMgAdapt->compute(err);
//~errStr = err.c_str();
//~return ret;
//~}
CORBA::Long MG_ADAPT_i::compute()
{
errStr = "";
CORBA::Long ret;
try
{
ret = myMgAdapt->compute(errStr);
}
catch (const std::exception& e)
{
std::cerr<<e.what();
ret = -1;
}
if(ret!=-1 && myMgAdapt->getPublish())
{
SMESH_Gen_i* smeshGen_i = SMESH_Gen_i::GetSMESHGen();
SMESH::DriverMED_ReadStatus theStatus;
smeshGen_i->CreateMeshesFromMED(myMgAdapt->getMedFileOut().c_str(), theStatus);
}
//~errStr = err.c_str();
return ret;
errStr = "";
CORBA::Long ret;
try
{
ret = myMgAdapt->compute(errStr);
}
catch (const std::exception& e)
{
std::cerr<<e.what();
ret = -1;
}
if(ret!=-1 && myMgAdapt->getPublish())
{
SMESH_Gen_i* smeshGen_i = SMESH_Gen_i::GetSMESHGen();
SMESH::DriverMED_ReadStatus theStatus;
smeshGen_i->CreateMeshesFromMED(myMgAdapt->getMedFileOut().c_str(), theStatus);
}
//~errStr = err.c_str();
return ret;
}
char* MG_ADAPT_i::getErrMsg()
{
return CORBA::string_dup(errStr.c_str());
return CORBA::string_dup(errStr.c_str());
}
char* MG_ADAPT_i::getFileName()
{
return CORBA::string_dup(myMgAdapt->getFileName().c_str());
return CORBA::string_dup(myMgAdapt->getFileName().c_str());
}
char* MG_ADAPT_i::getExeName()
{
return CORBA::string_dup(myMgAdapt->getExeName().c_str());
return CORBA::string_dup(myMgAdapt->getExeName().c_str());
}
void MG_ADAPT_i::copyMgAdaptHypothesisData( const SMESH::MgAdaptHypothesisData& data)
{
::MG_ADAPT::MgAdaptHypothesisData* baseData = new ::MG_ADAPT::MgAdaptHypothesisData();
copyHypothesisDataToImpl(data, baseData);
myMgAdapt->copyMgAdaptHypothesisData(baseData);
delete baseData;
::MG_ADAPT::MgAdaptHypothesisData* baseData = new ::MG_ADAPT::MgAdaptHypothesisData();
copyHypothesisDataToImpl(data, baseData);
myMgAdapt->copyMgAdaptHypothesisData(baseData);
delete baseData;
}
//~void MG_ADAPT_i::checkDirPath(char*& str)
//~{
//~myMgAdapt->checkDirPath(str);
//~myMgAdapt->checkDirPath(str);
//~}
bool MG_ADAPT_i::hasOptionDefined( const char* optionName )
{
return myMgAdapt->hasOptionDefined(optionName);
return myMgAdapt->hasOptionDefined(optionName);
}
void MG_ADAPT_i::setOptionValue(const char* optionName,
const char* optionValue) throw (std::invalid_argument)
const char* optionValue) throw (std::invalid_argument)
{
myMgAdapt->setOptionValue(optionName, optionValue);
myMgAdapt->setOptionValue(optionName, optionValue);
}
char* MG_ADAPT_i::getOptionValue(const char* optionName,
bool& isDefault) throw (std::invalid_argument)
bool& isDefault) throw (std::invalid_argument)
{
return CORBA::string_dup(myMgAdapt->getOptionValue(optionName, &isDefault).c_str());
return CORBA::string_dup(myMgAdapt->getOptionValue(optionName, &isDefault).c_str());
}
str_array* MG_ADAPT_i::getCustomOptionValuesStrVec()
{
SMESH::str_array_var result = new SMESH::str_array();
std::vector <std::string> vals = myMgAdapt->getCustomOptionValuesStrVec();
result->length(vals.size());
for (int i = 0; i<vals.size(); i++) result[i] = CORBA::string_dup(vals[i].c_str());
return result._retn();
SMESH::str_array_var result = new SMESH::str_array();
std::vector <std::string> vals = myMgAdapt->getCustomOptionValuesStrVec();
result->length(vals.size());
for (int i = 0; i<vals.size(); i++) result[i] = CORBA::string_dup(vals[i].c_str());
return result._retn();
}
str_array* MG_ADAPT_i::getOptionValuesStrVec()
{
SMESH::str_array_var result = new SMESH::str_array();
std::vector <std::string> vals = myMgAdapt->getOptionValuesStrVec();
result->length(vals.size());
for (int i = 0; i<vals.size(); i++) result[i] = CORBA::string_dup(vals[i].c_str());
return result._retn();
SMESH::str_array_var result = new SMESH::str_array();
std::vector <std::string> vals = myMgAdapt->getOptionValuesStrVec();
result->length(vals.size());
for (int i = 0; i<vals.size(); i++) result[i] = CORBA::string_dup(vals[i].c_str());
return result._retn();
}
void MG_ADAPT_i::setPrintLogInFile(bool mybool)
{
myMgAdapt->setPrintLogInFile(mybool);
myMgAdapt->setPrintLogInFile(mybool);
}
bool MG_ADAPT_i::getPrintLogInFile()
{
return myMgAdapt->getPrintLogInFile();
return myMgAdapt->getPrintLogInFile();
}
//~TOptionValues MG_ADAPT_i::getOptionValues() const;
//~const TOptionValues& MG_ADAPT_i::getCustomOptionValues() const ;
MG_ADAPT_OBJECT_i::MG_ADAPT_OBJECT_i(): SALOME::GenericObj_i( SMESH_Gen_i::GetPOA() )
{
medFileIn="";
medFileOut="";
medFileBackground="";
publish = false;
//~myMesh = CORBA::nil;
medFileIn="";
medFileOut="";
medFileBackground="";
publish = false;
//~myMesh = CORBA::nil;
}
void MG_ADAPT_OBJECT_i::setMeshIn(SMESH::SMESH_Mesh_ptr theMesh )
{
myMesh = SMESH::SMESH_Mesh::_duplicate(theMesh);
myMesh = SMESH::SMESH_Mesh::_duplicate(theMesh);
}
void MG_ADAPT_OBJECT_i::setMEDFileIn(const char* f)
{
medFileIn = f;
medFileIn = f;
}
void MG_ADAPT_OBJECT_i::setMEDFileOut(const char* f)
{
medFileOut = f;
medFileOut = f;
}
void MG_ADAPT_OBJECT_i::setMEDFileBackground(const char* f)
{
medFileBackground = f;
medFileBackground = f;
}
void MG_ADAPT_OBJECT_i::AddHypothesis(SMESH::MG_ADAPT_ptr mg)
{
mg->setMedFileIn(medFileIn.c_str());
mg->setMedFileOut(medFileOut.c_str());
mg->setSizeMapFile(medFileBackground.c_str());
hypothesis = SMESH::MG_ADAPT::_duplicate(mg);
mg->setMedFileIn(medFileIn.c_str());
mg->setMedFileOut(medFileOut.c_str());
mg->setSizeMapFile(medFileBackground.c_str());
hypothesis = SMESH::MG_ADAPT::_duplicate(mg);
}
CORBA::Long MG_ADAPT_OBJECT_i::Compute(bool publish)
{
if(!checkMeshFileIn()){
std::cerr<< "\n Error : Please check the MED file input or mesh input. \n";
return -1;
}
hypothesis->setPublish(publish);
return hypothesis->compute();
if(!checkMeshFileIn()){
std::cerr<< "\n Error : Please check the MED file input or mesh input. \n";
return -1;
}
hypothesis->setPublish(publish);
return hypothesis->compute();
}
bool MG_ADAPT_OBJECT_i::checkMeshFileIn()
{
bool ret = false; // 1 ok , 0 nook
if(!::MG_ADAPT::MgAdapt::isFileExist(medFileIn))
bool ret = false; // 1 ok , 0 nook
if(!::MG_ADAPT::MgAdapt::isFileExist(medFileIn))
{
if(!myMesh->_is_nil())
{
if(!myMesh->_is_nil())
{
bool toOverwrite = true;
bool toFindOutDim = true;
medFileIn = hypothesis->getFileName();
medFileIn+= ".med";
myMesh->ExportMED(medFileIn.c_str(), false, -1, toOverwrite, toFindOutDim);
hypothesis->setMedFileIn(medFileIn.c_str());
ret = true;
}
}
else
ret = true;
bool toOverwrite = true;
bool toFindOutDim = true;
medFileIn = hypothesis->getFileName();
medFileIn+= ".med";
myMesh->ExportMED(medFileIn.c_str(), false, -1, toOverwrite, toFindOutDim);
hypothesis->setMedFileIn(medFileIn.c_str());
ret = true;
}
}
else
ret = true;
return ret;
return ret;
}

View File

@ -28,129 +28,129 @@ class SMESH_I_EXPORT MG_ADAPT_i :
public virtual POA_SMESH::MG_ADAPT
{
public:
//~MG_ADAPT_i( CORBA::ORB_ptr orb, ADAPT::ADAPT_Gen_var gen_i );
//~static SMESH::MG_ADAPT_ptr CreateMG_ADAPT();
//~MG_ADAPT_i(PortableServer::POA_var poa);
MG_ADAPT_i();
virtual ~MG_ADAPT_i();
//~void setData( SMESH::MgAdaptHypothesisData* data);
void setData( SMESH::MgAdaptHypothesisData& data);
//~MG_ADAPT_i( CORBA::ORB_ptr orb, ADAPT::ADAPT_Gen_var gen_i );
//~static SMESH::MG_ADAPT_ptr CreateMG_ADAPT();
//~MG_ADAPT_i(PortableServer::POA_var poa);
MG_ADAPT_i();
virtual ~MG_ADAPT_i();
//~void setData( SMESH::MgAdaptHypothesisData* data);
void setData( SMESH::MgAdaptHypothesisData& data);
void setMedFileIn(const char* str);
char* getMedFileIn();
void setMedFileIn(const char* str);
char* getMedFileIn();
void setMedFileOut(const char* str);
char* getMedFileOut();
void setMedFileOut(const char* str);
char* getMedFileOut();
void setMeshName(const char* str);
char* getMeshName();
void setMeshName(const char* str);
char* getMeshName();
void setMeshNameOut(const char* str);
char* getMeshNameOut();
void setMeshNameOut(const char* str);
char* getMeshNameOut();
void setMeshOutMed(bool mybool);
bool getMeshOutMed();
void setMeshOutMed(bool mybool);
bool getMeshOutMed();
void setPublish(bool mybool);
bool getPublish();
void setPublish(bool mybool);
bool getPublish();
void setSizeMapFieldName(const char* str);
char* getSizeMapFieldName();
void setSizeMapFieldName(const char* str);
char* getSizeMapFieldName();
void setTimeStep(CORBA::Long t);
CORBA::Long getTimeStep() ;
void setTimeStep(CORBA::Long t);
CORBA::Long getTimeStep() ;
void setTimeStepRank(CORBA::Long t, CORBA::Long r );
CORBA::Long getRank();
void setTimeStepRankLast();
void setNoTimeStep();
void setTimeStepRank(CORBA::Long t, CORBA::Long r );
CORBA::Long getRank();
void setLogFile(const char* str);
char* getLogFile();
void setTimeStepRankLast();
void setNoTimeStep();
void setVerbosityLevel(CORBA::Long v);
CORBA::Long getVerbosityLevel();
void setLogFile(const char* str);
char* getLogFile();
void setRemoveOnSuccess(bool mybool);
bool getRemoveOnSuccess();
void setVerbosityLevel(CORBA::Long v);
CORBA::Long getVerbosityLevel();
SMESH::MgAdaptHypothesisData* getData() ;
void setSizeMapType(const char* type);
void setUseLocalMap(bool mybool);
bool getUseLocalMap();
void setRemoveOnSuccess(bool mybool);
bool getRemoveOnSuccess();
void setUseBackgroundMap(bool mybool);
bool getUseBackgroundMap();
SMESH::MgAdaptHypothesisData* getData() ;
void setSizeMapType(const char* type);
void setUseLocalMap(bool mybool);
bool getUseLocalMap();
void setUseConstantValue(bool mybool);
bool getUseConstantValue();
void setUseBackgroundMap(bool mybool);
bool getUseBackgroundMap();
void setConstantSize(double value);
double getConstantSize();
void setUseConstantValue(bool mybool);
bool getUseConstantValue();
void setSizeMapFile(const char* str);
char* getSizeMapFile();
void setConstantSize(double value);
double getConstantSize();
void setFromMedFile(bool mybool);
bool isFromMedFile();
void setSizeMapFile(const char* str);
char* getSizeMapFile();
void setKeepWorkingFiles(bool mybool);
bool getKeepWorkingFiles();
void setFromMedFile(bool mybool);
bool isFromMedFile();
//~void setPrCORBA::LongLogInFile(bool);
//~bool getPrCORBA::LongLogInFile();
void setKeepWorkingFiles(bool mybool);
bool getKeepWorkingFiles();
void setWorkingDir(const char* str);
char* getWorkingDir() ;
//~void setPrCORBA::LongLogInFile(bool);
//~bool getPrCORBA::LongLogInFile();
void setPrintLogInFile(bool mybool);
bool getPrintLogInFile();
bool setAll();
char* getCommandToRun() ;
//~CORBA::Long compute(::CORBA::String_out errStr);
CORBA::Long compute();
char* getFileName();
char* getExeName();
void copyMgAdaptHypothesisData( const SMESH::MgAdaptHypothesisData& data ) ;
//~void copyMgAdaptHypothesisData( const SMESH::MgAdaptHypothesisData& data ) {
//~copyMgAdaptHypothesisData(&data);
//~}
void setWorkingDir(const char* str);
char* getWorkingDir() ;
//~void checkDirPath(char*& str);
bool hasOptionDefined( const char* optionName ) ;
void setOptionValue(const char* optionName,
const char* optionValue) throw (std::invalid_argument);
char* getOptionValue(const char* optionName,
bool& isDefault) throw (std::invalid_argument);
str_array* getCustomOptionValuesStrVec() ;
str_array* getOptionValuesStrVec() ;
void copyHypothesisDataFromImpl(const ::MG_ADAPT::MgAdaptHypothesisData* from, SMESH::MgAdaptHypothesisData* to) const;
void copyHypothesisDataToImpl(const SMESH::MgAdaptHypothesisData& from, ::MG_ADAPT::MgAdaptHypothesisData* to) const;
//~TOptionValues getOptionValues() const;
//~const TOptionValues& getCustomOptionValues() const ;
char* getErrMsg();
void setPrintLogInFile(bool mybool);
bool getPrintLogInFile();
bool setAll();
char* getCommandToRun() ;
//~CORBA::Long compute(::CORBA::String_out errStr);
CORBA::Long compute();
char* getFileName();
char* getExeName();
void copyMgAdaptHypothesisData( const SMESH::MgAdaptHypothesisData& data ) ;
//~void copyMgAdaptHypothesisData( const SMESH::MgAdaptHypothesisData& data ) {
//~copyMgAdaptHypothesisData(&data);
//~}
//~void checkDirPath(char*& str);
bool hasOptionDefined( const char* optionName ) ;
void setOptionValue(const char* optionName,
const char* optionValue) throw (std::invalid_argument);
char* getOptionValue(const char* optionName,
bool& isDefault) throw (std::invalid_argument);
str_array* getCustomOptionValuesStrVec() ;
str_array* getOptionValuesStrVec() ;
void copyHypothesisDataFromImpl(const ::MG_ADAPT::MgAdaptHypothesisData* from, SMESH::MgAdaptHypothesisData* to) const;
void copyHypothesisDataToImpl(const SMESH::MgAdaptHypothesisData& from, ::MG_ADAPT::MgAdaptHypothesisData* to) const;
//~TOptionValues getOptionValues() const;
//~const TOptionValues& getCustomOptionValues() const ;
char* getErrMsg();
private:
::MG_ADAPT::MgAdapt* myMgAdapt;
std::string errStr;
//~CORBA::ORB_ptr _orb;
//~ADAPT::ADAPT_Gen_var _gen_i;
};
class SMESH_I_EXPORT MG_ADAPT_OBJECT_i:
public virtual SALOME::GenericObj_i,
public virtual POA_SMESH::MG_ADAPT_OBJECT {
public virtual SALOME::GenericObj_i,
public virtual POA_SMESH::MG_ADAPT_OBJECT {
public :
MG_ADAPT_OBJECT_i();
void setMeshIn( SMESH::SMESH_Mesh_ptr theMesh );
void setMEDFileIn(const char* f);
void setMEDFileOut(const char* f);
void setMEDFileBackground(const char* f);
void AddHypothesis(SMESH::MG_ADAPT_ptr);
CORBA::Long Compute(bool Publish);
MG_ADAPT_OBJECT_i();
void setMeshIn( SMESH::SMESH_Mesh_ptr theMesh );
void setMEDFileIn(const char* f);
void setMEDFileOut(const char* f);
void setMEDFileBackground(const char* f);
void AddHypothesis(SMESH::MG_ADAPT_ptr);
CORBA::Long Compute(bool Publish);
private:
std::string medFileIn, medFileOut, medFileBackground;
bool checkMeshFileIn();