-using namespace std;
-// File : SMESH_Swig.cxx
-// Created : Mon Jun 17 13:41:43 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : SMESH
-// Copyright : Open CASCADE 2002
+// SMESH SMESHGUI : GUI for SMESH component
+//
+// Copyright (C) 2003 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
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+// File : SMESH_Swig.cxx
+// Author : Nicolas REJNERI
+// Module : SMESH
// $Header$
-
+using namespace std;
#include "SMESHGUI_Swig.hxx"
#include "Utils_ORB_INIT.hxx"
#include CORBA_SERVER_HEADER(SMESH_Gen)
#include CORBA_SERVER_HEADER(SMESH_Mesh)
#include CORBA_SERVER_HEADER(SMESH_Hypothesis)
-#include CORBA_SERVER_HEADER(GEOM_Shape)
static CORBA::ORB_var _orb;
Engines::Component_var comp = QAD_Application::getDesktop()->getEngine("FactoryServer", "SMESH");
SMESH::SMESH_Gen_var CompMesh = SMESH::SMESH_Gen::_narrow(comp);
+ Engines::Component_var comp1 = QAD_Application::getDesktop()->getEngine("FactoryServer", "GEOM");
+ GEOM::GEOM_Gen_var CompGeom = GEOM::GEOM_Gen::_narrow(comp1);
+
QAD_ResourceMgr* resMgr = QAD_Desktop::createResourceManager();
if ( resMgr ) {
QString msg;
CORBA::Object_var obj = QAD_Application::getDesktop()->getNameService()->Resolve("/myStudyManager");
SALOMEDS::StudyManager_var myStudyMgr = SALOMEDS::StudyManager::_narrow(obj);
myStudy = myStudyMgr->GetStudyByID(studyID);
+
+ CompMesh->SetCurrentStudy( myStudy.in() );
+
myStudyBuilder = myStudy->NewBuilder();
SALOMEDS::GenericAttribute_var anAttr;
SALOMEDS::AttributeName_var aName;
SALOMEDS::AttributePixMap_var aPixmap;
- SALOMEDS::SComponent_var father = myStudy->FindComponent("MESH");
+ // See return value of SMESH::SMESH_Gen::ComponentDataType()
+ SALOMEDS::SComponent_var father = myStudy->FindComponent("SMESH");
if (father->_is_nil()) {
- father = myStudyBuilder->NewComponent("MESH");
+ bool aLocked = myStudy->GetProperties()->IsLocked();
+ if (aLocked) myStudy->GetProperties()->SetLocked(false);
+ father = myStudyBuilder->NewComponent("SMESH");
anAttr = myStudyBuilder->FindOrCreateAttribute(father, "AttributeName");
aName = SALOMEDS::AttributeName::_narrow(anAttr);
//NRI aName->SetValue(QObject::tr("SMESH_MEN_COMPONENT"));
anAttr = myStudyBuilder->FindOrCreateAttribute(father, "AttributePixMap");
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
aPixmap->SetPixMap( "ICON_OBJBROWSER_SMESH" );
+ myStudyBuilder->DefineComponentInstance(father, CompMesh );
+ if (aLocked) myStudy->GetProperties()->SetLocked(true);
}
- myStudyBuilder->DefineComponentInstance(father, CompMesh );
mySComponentMesh = SALOMEDS::SComponent::_narrow( father );
// Tags definition
const char* SMESH_Swig::AddNewMesh(const char* IOR)
{
MESSAGE("AddNewMesh");
+
+ // VSR: added temporarily - to be removed - objects are published automatically by engine
+ SALOMEDS::SObject_var SO = myStudy->FindObjectIOR( IOR );
+ if ( !SO->_is_nil() )
+ return SO->GetID();
+
//Find or Create Hypothesis root
SALOMEDS::GenericAttribute_var anAttr;
SALOMEDS::AttributeName_var aName;
const char* SMESH_Swig::AddNewHypothesis(const char* IOR)
{
MESSAGE("AddNewHypothesis");
+
+ // VSR: added temporarily - to be removed - objects are published automatically by engine
+ SALOMEDS::SObject_var SO = myStudy->FindObjectIOR( IOR );
+ if ( !SO->_is_nil() )
+ return SO->GetID();
+
//Find or Create Hypothesis root
SALOMEDS::SObject_var HypothesisRoot;
SALOMEDS::GenericAttribute_var anAttr;
const char* SMESH_Swig::AddNewAlgorithms(const char* IOR)
{
MESSAGE("AddNewAlgorithms");
+
+ // VSR: added temporarily - to be removed - objects are published automatically by engine
+ SALOMEDS::SObject_var SO = myStudy->FindObjectIOR( IOR );
+ if ( !SO->_is_nil() )
+ return SO->GetID();
+
//Find or Create Algorithms root
SALOMEDS::SObject_var AlgorithmsRoot;
SALOMEDS::GenericAttribute_var anAttr;
aSelAttr = SALOMEDS::AttributeSelectable::_narrow(anAttr);
aSelAttr->SetSelectable(false);
}
+
+ free(Name);
+
SALOMEDS::SObject_var SO = myStudyBuilder->NewObject (SubmeshesRoot);
anAttr = myStudyBuilder->FindOrCreateAttribute(SO, "AttributeIOR");
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);