X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Obstacle.cxx;h=f9e53b44a4060f48cce2d0fbb5f68d48624dff25;hb=9c3749501bcf6c4eed78966cb69934bab0a1a3b9;hp=7d0469ca666487a7b60f89e18154611947cab1e2;hpb=191c33b8fd827caa9af8886728e9df22ae55451e;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Obstacle.cxx b/src/HYDROData/HYDROData_Obstacle.cxx index 7d0469ca..f9e53b44 100644 --- a/src/HYDROData/HYDROData_Obstacle.cxx +++ b/src/HYDROData/HYDROData_Obstacle.cxx @@ -1,3 +1,24 @@ +// Copyright (C) 2007-2015 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #include "HYDROData_Obstacle.h" @@ -5,14 +26,13 @@ #include "HYDROData_ShapesGroup.h" #include "HYDROData_ShapesTool.h" #include "HYDROData_Tool.h" +#include "HYDROData_GeomTool.h" #include #include #include -#include - #include #include @@ -41,9 +61,6 @@ #include -#include -#include - IMPLEMENT_STANDARD_HANDLE(HYDROData_Obstacle,HYDROData_ArtificialObject) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Obstacle,HYDROData_ArtificialObject) @@ -203,16 +220,26 @@ QString HYDROData_Obstacle::GetFilePath() const bool HYDROData_Obstacle::ImportFromGeomIOR( const TCollection_AsciiString& theIOR ) { - if ( theIOR.IsEmpty() ) - return false; + bool aRes = false; - TopoDS_Shape aShape = GEOMBase::GetShapeFromIOR( theIOR.ToCString() ); - if ( aShape.IsNull() ) - return false; + if ( theIOR.IsEmpty() ) { + return aRes; + } + + int aDocId = -1; + if ( !HYDROData_Document::DocumentId( HYDROData_Document::Document( myLab ), aDocId ) || aDocId < 0 ) { + return aRes; + } + + // TopoDS_Shape aShape = GEOMBase::GetShapeFromIOR( theIOR.ToCString() ); + TopoDS_Shape aShape = HYDROData_GeomTool::GetShapeFromIOR( aDocId, theIOR.ToCString() ); - SetShape3D( aShape ); + if ( !aShape.IsNull() ) { + SetShape3D( aShape ); + aRes = true; + } - return true; + return aRes; } void HYDROData_Obstacle::SetGeomObjectEntry( const TCollection_AsciiString& theEntry ) @@ -244,19 +271,14 @@ TCollection_AsciiString HYDROData_Obstacle::GetGeomObjectName() const return aRes; } - int argc = 0; - char** argv = 0; - CORBA::ORB_var anORB = CORBA::ORB_init( argc, argv, "omniORB4"/*CORBA::ORB_ID*/ ); - SALOME_NamingService aNameService( anORB ); - - CORBA::Object_var aSMObject = aNameService.Resolve("/myStudyManager"); - SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(aSMObject); - SALOMEDS::Study_var aDSStudy = aStudyManager->GetStudyByID( aDocId ); - - TCollection_AsciiString anEntry = GetGeomObjectEntry(); - SALOMEDS::SObject_var aSObject = aDSStudy->FindObjectID( anEntry.ToCString() ); - if ( !aSObject->_is_nil() ) { - aRes = TCollection_AsciiString( aSObject->GetName() ); + SALOMEDS::Study_var aDSStudy = HYDROData_GeomTool::GetStudyByID( aDocId ); + + if ( !aDSStudy->_is_nil() ) { + TCollection_AsciiString anEntry = GetGeomObjectEntry(); + SALOMEDS::SObject_var aSObject = aDSStudy->FindObjectID( anEntry.ToCString() ); + if ( !aSObject->_is_nil() ) { + aRes = TCollection_AsciiString( aSObject->GetName() ); + } } return aRes;