{
if(MYDEBUG) MESSAGE("CanPublishInStudy - "<<!CORBA::is_nil(getStudyServant()));
- if( !myIsEnablePublish )
+ if ( !myIsEnablePublish )
return false;
SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_narrow(theIOR);
if ( !sameIOR )
{
iorAttr->SetValue( objStr.in() );
- // UnRegister() !!! --> No: random problems when meshing in parallel (yacs foreach) in distributed python scripts
-// SALOME::GenericObj_var genObj = SALOME::GenericObj::_narrow( theIOR );
-// if ( !genObj->_is_nil() )
-// genObj->UnRegister();
+ // UnRegister() !!! --> random problems when meshing in parallel (yacs foreach) in
+ // distributed python scripts, because simultaneously created meshes are
+ // published into the same SO; as a result the mesh published first dies
+ SALOME::GenericObj_var genObj = SALOME::GenericObj::_narrow( theIOR );
+ if ( !genObj->_is_nil() )
+ genObj->UnRegister();
}
}
{
Unexpect aCatch(SALOME_SalomeException);
SALOMEDS::SObject_wrap aSO;
+ if ( !myIsEnablePublish )
+ return aSO._retn();
if ( CORBA::is_nil( theIOR ))
return aSO._retn();
if(MYDEBUG) MESSAGE("PublishInStudy");
SALOMEDS::SComponent_ptr SMESH_Gen_i::PublishComponent()
{
if(MYDEBUG) MESSAGE("PublishComponent");
+ if ( !myIsEnablePublish )
+ return SALOMEDS::SComponent::_nil();
SALOMEDS::StudyBuilder_var aStudyBuilder = getStudyServant()->NewBuilder();
SALOMEDS::UseCaseBuilder_wrap useCaseBuilder = getStudyServant()->GetUseCaseBuilder();
SALOMEDS::SObject_ptr SMESH_Gen_i::PublishMesh (SMESH::SMESH_Mesh_ptr theMesh,
const char* theName)
{
+ if ( !myIsEnablePublish )
+ return SALOMEDS::SObject::_nil();
if ( CORBA::is_nil( theMesh ))
- return SALOMEDS::SComponent::_nil();
+ return SALOMEDS::SObject::_nil();
if(MYDEBUG) MESSAGE("PublishMesh--IN");
// find or publish a mesh
else
aTag++;
- aMeshSO = publish ( theMesh, father, aTag, "ICON_SMESH_TREE_MESH_WARN" );
+ aMeshSO = publish( theMesh, father, aTag, "ICON_SMESH_TREE_MESH_WARN" );
if ( aMeshSO->_is_nil() )
return aMeshSO._retn();
}
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName)
{
+ if ( !myIsEnablePublish )
+ return SALOMEDS::SObject::_nil();
if ( theMesh->_is_nil() || theSubMesh->_is_nil() || theShapeObject->_is_nil() )
return SALOMEDS::SObject::_nil();
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName)
{
+ if ( !myIsEnablePublish )
+ return SALOMEDS::SObject::_nil();
if (theMesh->_is_nil() || theGroup->_is_nil() )
return SALOMEDS::SObject::_nil();
const char* theName)
{
if(MYDEBUG) MESSAGE("PublishHypothesis")
+ if ( !myIsEnablePublish )
+ return SALOMEDS::SObject::_nil();
if (theHyp->_is_nil())
return SALOMEDS::SObject::_nil();
SetPixMap( so, "ICON_SMESH_TREE_MESH_WARN" );
else if ( mesh_i->IsComputedOK() )
SetPixMap( so, "ICON_SMESH_TREE_MESH" );
- else
+ else if ( mesh_i->HasShapeToMesh() )
SetPixMap( so, "ICON_SMESH_TREE_MESH_PARTIAL" );
+ else
+ SetPixMap( so, "ICON_SMESH_TREE_MESH_IMPORTED" );
// set icons of sub-objects
SALOMEDS::Study_var study = getStudyServant();
}
return 0;
}
+
+//=======================================================================
+//function : Clear
+//purpose : clear data
+//=======================================================================
+
+void StudyContext::Clear()
+{
+ mapIdToIOR.Clear();
+ mapIdToId.Clear();
+}