]> SALOME platform Git repositories - modules/smesh.git/blob - src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx
Salome HOME
305f86af947d185d8a1c3d49b68d5724c1b31968
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_GEOMGenUtils.cxx
1 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 // 
4 //  This library is free software; you can redistribute it and/or 
5 //  modify it under the terms of the GNU Lesser General Public 
6 //  License as published by the Free Software Foundation; either 
7 //  version 2.1 of the License. 
8 // 
9 //  This library is distributed in the hope that it will be useful, 
10 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 //  Lesser General Public License for more details. 
13 // 
14 //  You should have received a copy of the GNU Lesser General Public 
15 //  License along with this library; if not, write to the Free Software 
16 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 // 
18 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
19
20
21 #include "QAD_Desktop.h"
22
23 #include "SMESHGUI_GEOMGenUtils.h"
24 #include "SMESHGUI_Utils.h"
25
26 namespace SMESH{
27
28   GEOM::GEOM_Gen_var GetGEOMGen()
29   {
30     static GEOM::GEOM_Gen_var aGEOMGen;
31     if(CORBA::is_nil(aGEOMGen)){
32       if(QAD_Desktop* aDesktop = QAD_Application::getDesktop()){
33         Engines::Component_var aComponent = aDesktop->getEngine("FactoryServer","GEOM");
34         aGEOMGen = GEOM::GEOM_Gen::_narrow(aComponent);
35       }
36     }
37     return aGEOMGen;
38   }
39
40
41   GEOM::GEOM_Object_var GetShapeOnMeshOrSubMesh(SALOMEDS::SObject_ptr theSObject)
42   {
43     if(!theSObject->_is_nil()) {
44       using namespace SALOMEDS;
45       SObject_var aSubSObject;
46       static int Tag_RefOnShape = 1;
47       if(theSObject->FindSubObject(Tag_RefOnShape,aSubSObject)){
48         SObject_var aGeomSObject;
49         if(aSubSObject->ReferencedObject(aGeomSObject)){
50           return SObjectToInterface<GEOM::GEOM_Object>(aGeomSObject);
51         }
52       }
53     }
54     return GEOM::GEOM_Object::_nil();
55   }
56     
57 }