1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: PartSet_FilterSketchEntity.cpp
4 // Created: 13 Mar 2015
5 // Author: Natalia ERMOLAEVA
7 #include "PartSet_FilterSketchEntity.h"
9 #include <ModuleBase_IWorkshop.h>
11 #include <ModelAPI_Feature.h>
12 #include <FeaturesPlugin_Group.h>
14 #include <SketchPlugin_Sketch.h>
16 #include <AIS_InteractiveObject.hxx>
17 #include <AIS_Shape.hxx>
20 IMPLEMENT_STANDARD_HANDLE(PartSet_FilterSketchEntity, ModuleBase_ShapeDocumentFilter);
21 IMPLEMENT_STANDARD_RTTIEXT(PartSet_FilterSketchEntity, ModuleBase_ShapeDocumentFilter);
23 Standard_Boolean PartSet_FilterSketchEntity::IsOk(const Handle(SelectMgr_EntityOwner)& theOwner) const
25 if (ModuleBase_ShapeDocumentFilter::IsOk(theOwner)) {
26 if (theOwner->HasSelectable()) {
27 Handle(AIS_InteractiveObject) aAisObj =
28 Handle(AIS_InteractiveObject)::DownCast(theOwner->Selectable());
29 if (!aAisObj.IsNull()) {
30 std::shared_ptr<GeomAPI_AISObject> aAISObj = AISObjectPtr(new GeomAPI_AISObject());
31 aAISObj->setImpl(new Handle(AIS_InteractiveObject)(aAisObj));
32 ObjectPtr aObj = myWorkshop->findPresentedObject(aAISObj);
34 FeaturePtr aFeature = ModelAPI_Feature::feature(aObj);
36 if (aFeature->getKind() == SketchPlugin_Sketch::ID())
42 return Standard_False;