if ( myStudyContextMap.find( studyId ) == myStudyContextMap.end() ) {
myStudyContextMap[ studyId ] = new StudyContext;
}
- SetStudyID(studyId);
// set current study for geom engine
/*
if ( !CORBA::is_nil( GetGeomEngine() ) )
throw ( SALOME::SALOME_Exception )
{
Unexpect aCatch(SALOME_SalomeException);
- using namespace SMESH;
- FactoryHandler aFactory;
-
if(MYDEBUG) MESSAGE( "SMESH_Gen_i::CreateMesh" );
// create mesh
SMESH::SMESH_Mesh_var mesh = this->createMesh();
ASSERT( meshServant );
meshServant->SetShape( theShapeObject );
// publish mesh in the study
- if ( CanPublishInStudy( mesh ) )
+ if( CanPublishInStudy( mesh ) ){
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->NewCommand(); // There is a transaction
PublishMesh( myCurrentStudy, mesh.in() );
-
- CORBA::String_var anEntry = theShapeObject->GetEntry();
- aFactory->Register(TInvocationID(TResultCont(1,meshServant->GetID()),
- GetID(),
- "SMESH_Mesh",
- "CreateMesh",
- TArgumentCont(),
- anEntry.in()));
-
+ aStudyBuilder->CommitCommand();
+ }
return mesh._retn();
}
SMESH::SMESH_Mesh_var aMesh = createMesh();
string aFileName; // = boost::filesystem::path(theFileName).leaf();
// publish mesh in the study
- if ( CanPublishInStudy( aMesh ) )
+ if ( CanPublishInStudy( aMesh ) ){
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->NewCommand(); // There is a transaction
PublishMesh( myCurrentStudy, aMesh.in(), aFileName.c_str() );
+ aStudyBuilder->CommitCommand();
+ }
SMESH_Mesh_i* aServant = dynamic_cast<SMESH_Mesh_i*>( GetServant( aMesh ).in() );
ASSERT( aServant );
throw ( SALOME::SALOME_Exception )
{
Unexpect aCatch(SALOME_SalomeException);
- using namespace SMESH;
- FactoryHandler aFactory;
-
if(MYDEBUG) MESSAGE( "SMESH_Gen_i::CreateMeshFromMED" );
// Retrieve mesh names from the file
SMESH::mesh_array_var aResult = new SMESH::mesh_array();
theStatus = (SMESH::DriverMED_ReadStatus)aStatus;
if(theStatus == SMESH::DRS_OK){
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->NewCommand(); // There is a transaction
+
aResult->length( aNames.size() );
- TResultCont aResultCont;
int i = 0;
-
+
// Iterate through all meshes and create mesh objects
for ( list<string>::iterator it = aNames.begin(); it != aNames.end(); it++ ) {
// create mesh
theStatus = status1;
aResult[i++] = SMESH::SMESH_Mesh::_duplicate( mesh );
-
- aResultCont.push_back(meshServant->GetID());
}
- aFactory->Register(TInvocationID(aResultCont,
- GetID(),
- "SMESH_Mesh",
- "CreateMeshesFromMED",
- TArgumentCont(1,std::string(theFileName)),
- ""));
+ aStudyBuilder->CommitCommand();
}
return aResult._retn();
}
SMESH::SMESH_Mesh_var aMesh = createMesh();
string aFileName; // = boost::filesystem::path(theFileName).leaf();
// publish mesh in the study
- if ( CanPublishInStudy( aMesh ) )
+ if( CanPublishInStudy( aMesh ) ){
+ SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+ aStudyBuilder->NewCommand(); // There is a transaction
PublishInStudy( myCurrentStudy, SALOMEDS::SObject::_nil(), aMesh.in(), aFileName.c_str() );
+ aStudyBuilder->CommitCommand();
+ }
SMESH_Mesh_i* aServant = dynamic_cast<SMESH_Mesh_i*>( GetServant( aMesh ).in() );
ASSERT( aServant );
{
INFOS( "SMESH_Gen_i::Save" );
- CORBA::Boolean anIsValidScript;
- SALOMEDS::Study_var aStudy = theComponent->GetStudy();
- SALOMEDS::TMPFile_var aDump = DumpPython(aStudy,false,anIsValidScript);
-
// ASSERT( theComponent->GetStudy()->StudyId() == myCurrentStudy->StudyId() )
// san -- in case <myCurrentStudy> differs from theComponent's study,
// use that of the component