#include "SMESH_NumberFilter.hxx"
-#include "GEOMBase.h"
+#include "GEOM_Client.hxx"
+#include "GeometryGUI.h"
#include "SUIT_Application.h"
#include "SUIT_Session.h"
#include "SalomeApp_Study.h"
-#include "SalomeApp_DataOwner.h"
+#include "LightApp_DataOwner.h"
#include "SALOME_InteractiveObject.hxx"
#include "SALOMEDSClient_SObject.hxx"
return false;
// Get shape from geom object and verify its parameters
- TopoDS_Shape aShape;
- if (!GEOMBase::GetShape(aGeomObj, aShape) ||
- aShape.IsNull() ||
+ GEOM_Client aGeomClient;
+ TopoDS_Shape aShape = aGeomClient.GetShape(GeometryGUI::GetGeomGen(), aGeomObj);
+ if (aShape.IsNull() ||
!myShapeTypes.Contains(aShape.ShapeType()))
return false;
// Verify whether shape of entry object is sub-shape of myMainObj
if (!myMainObj->_is_nil()) {
- TopoDS_Shape aMainShape;
- if (!GEOMBase::GetShape(myMainObj, aMainShape))
+ TopoDS_Shape aMainShape = aGeomClient.GetShape(GeometryGUI::GetGeomGen(), myMainObj);
+ if (aMainShape.IsNull())
return false;
bool isFound = false;
// Purpose : Retrieve geom object from SALOME_InteractiveObject
//=======================================================================
GEOM::GEOM_Object_ptr SMESH_NumberFilter::getGeom
- (const SUIT_DataOwner* theDataOwner) const
+ (const SUIT_DataOwner* theDataOwner, const bool extractReference ) const
{
- const SalomeApp_DataOwner* owner =
- dynamic_cast<const SalomeApp_DataOwner*>(theDataOwner);
+ const LightApp_DataOwner* owner =
+ dynamic_cast<const LightApp_DataOwner*>(theDataOwner);
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>
(SUIT_Session::session()->activeApplication()->activeStudy());
_PTR(Study) study = appStudy->studyDS();
QString entry = owner->entry();
- _PTR(SObject) aSO(study->FindObjectID(entry.latin1()));
+ _PTR(SObject) aSO( study->FindObjectID( entry.latin1() ) ), aRefSO;
+ if( extractReference && aSO && aSO->ReferencedObject( aRefSO ) )
+ aSO = aRefSO;
+
if (!aSO)
return GEOM::GEOM_Object::_nil();