Salome HOME
Fix linkage problem
authorvsr <vsr@opencascade.com>
Thu, 12 Sep 2013 07:29:50 +0000 (07:29 +0000)
committervsr <vsr@opencascade.com>
Thu, 12 Sep 2013 07:29:50 +0000 (07:29 +0000)
src/SMESHFiltersSelection/Makefile.am
src/SMESHFiltersSelection/SMESH_NumberFilter.cxx

index 0b465b89a337e65e0a2e73114b3edb0123d42f11..bad3fccdc9cce12cc74fa1d3cb5be644bc20c089 100644 (file)
@@ -61,6 +61,6 @@ libSMESHFiltersSelection_la_LDFLAGS  = \
        ../../idl/libSalomeIDLSMESH.la \
        $(KERNEL_LDFLAGS) -lSalomeDSClient -lSalomeDS \
        $(GUI_LDFLAGS) -lSalomeApp -lsuit -lLightApp \
-       $(GEOM_LDFLAGS) -lGEOM -lGEOMClient \
+       $(GEOM_LDFLAGS) -lGEOMClient -lSalomeIDLGEOM \
        $(CAS_LDPATH) -lTKernel -lTKMath -lTKBRep \
        $(QT_MT_LIBS)
index 13fda6a0a1cb169d7cd60231c35b46448ef0d0e7..0e66f83d4804f85a5189855b7476aa8c42bbd9c7 100644 (file)
 //
 #include "SMESH_NumberFilter.hxx"
 
+#include <SALOME_LifeCycleCORBA.hxx>
+
 #include "GEOM_Client.hxx"
-#include "GeometryGUI.h"
 
 #include "SUIT_Application.h"
 #include "SUIT_Session.h"
 
+#include "SalomeApp_Application.h"
 #include "SalomeApp_Study.h"
 #include "LightApp_DataOwner.h"
 
@@ -104,11 +106,16 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const
   if (aGeomObj->_is_nil())
     return false;
 
+  // Get GEOM engine
+  Engines::EngineComponent_var comp =
+    SalomeApp_Application::lcc()->FindOrLoad_Component( "FactoryServer", "GEOM" );
+  GEOM::GEOM_Gen_var geomEngine = GEOM::GEOM_Gen::_narrow( comp );
+  if ( CORBA::is_nil( geomEngine ) )
+    return false;
+
   // Get shape from geom object and verify its parameters
   GEOM_Client aGeomClient;
-  if ( CORBA::is_nil( GeometryGUI::GetGeomGen() ) && !GeometryGUI::InitGeomGen() )
-    return false;
-  TopoDS_Shape aShape = aGeomClient.GetShape(GeometryGUI::GetGeomGen(), aGeomObj);
+  TopoDS_Shape aShape = aGeomClient.GetShape(geomEngine.in(), aGeomObj);
   if (aShape.IsNull() ||
       !myShapeTypes.Contains(aShape.ShapeType()))
     return false;
@@ -118,7 +125,7 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const
 
   // Verify whether shape of entry object is sub-shape of myMainObj
   if (!myMainObj->_is_nil()) {
-    TopoDS_Shape aMainShape = aGeomClient.GetShape(GeometryGUI::GetGeomGen(), myMainObj);
+    TopoDS_Shape aMainShape = aGeomClient.GetShape(geomEngine.in(), myMainObj);
     if (aMainShape.IsNull())
       return false;