myIsEmbeddedMode = false;
myShapeReader = NULL; // shape reader
mySMESHGen = this;
+ myIsHistoricalPythonDump = true;
// set it in standalone mode only
//OSD::SetSignal( true );
THROW_SALOME_CORBA_EXCEPTION( "non-positive number of segments", SALOME::BAD_PARAM );
}
+//=============================================================================
+/*!
+ Set an option value
+*/
+//=============================================================================
+
+void SMESH_Gen_i::SetOption(const char* name, const char* value)
+{
+ if ( name && value &&
+ strcmp(name, "historical_python_dump") == 0 &&
+ strlen( value ) > 0 )
+ {
+ myIsHistoricalPythonDump = ( value[0] == '1' || toupper(value[0]) == 'T' ); // 1 || true
+
+ // update preferences in case if SetOption() is invoked from python console
+ CORBA::Object_var obj = SMESH_Gen_i::GetNS()->Resolve( "/Kernel/Session" );
+ SALOME::Session_var session = SALOME::Session::_narrow( obj );
+ if ( !CORBA::is_nil( session ) ) {
+ string msg("preferences:SMESH:historical_python_dump:");
+ msg += myIsHistoricalPythonDump ? "true" : "false";
+ session->emitMessageOneWay(msg.c_str());
+ }
+ }
+}
+
+//=============================================================================
+/*!
+ Return an option value
+*/
+//=============================================================================
+
+char* SMESH_Gen_i::GetOption(const char* name)
+{
+ if ( name && strcmp(name, "historical_python_dump") == 0 )
+ {
+ return CORBA::string_dup( myIsHistoricalPythonDump ? "true" : "false" );
+ }
+ return CORBA::string_dup( "" );
+}
+
//=============================================================================
/*!
* SMESH_Gen_i::CreateMesh
return false;
}
+ TPythonDump pd; // prevent dump during loading
+
DriverMED_R_SMESHDS_Mesh myReader;
myReader.SetFile( meshfile.ToCString() );
if ( !isMultiFile )
SALOMEDS_Tool::RemoveTemporaryFiles( tmpDir.ToCString(), aFileSeq.in(), true );
+ pd << ""; // prevent optimizing pd out
+
INFOS( "SMESH_Gen_i::Load completed" );
return true;
}
*/
void SetDefaultNbSegments(CORBA::Long theNbSegments) throw ( SALOME::SALOME_Exception );
+ /*!
+ Set an option value
+ */
+ virtual void SetOption(const char*, const char*);
+ /*!
+ Return an option value
+ */
+ virtual char* GetOption(const char*);
+
// Create empty mesh on a shape
SMESH::SMESH_Mesh_ptr CreateMesh( GEOM::GEOM_Object_ptr theShapeObject )
throw ( SALOME::SALOME_Exception );
Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished,
bool isMultiFile,
+ bool isHistoricalDump,
bool& aValidScript,
const TCollection_AsciiString& theSavedTrace);
// Dump Python: trace of API methods calls
std::map < int, Handle(TColStd_HSequenceOfAsciiString) > myPythonScripts;
+ bool myIsHistoricalPythonDump;
};