- Standard_Boolean isOk = ModuleBase_Filter::IsOk(theOwner);
- if (isOk && theOwner->HasSelectable()) {
- Handle(AIS_InteractiveObject) anAIS =
- Handle(AIS_InteractiveObject)::DownCast(theOwner->Selectable());
- if (!anAIS.IsNull()) {
- Handle(AIS_Shape) aShapeAIS = Handle(AIS_Shape)::DownCast(anAIS);
- if (aShapeAIS) {
- const TopoDS_Shape& aShape = aShapeAIS->Shape();
- if (aShape.ShapeType() == TopAbs_EDGE) {
- std::shared_ptr<GeomAPI_Edge> anEdge = std::shared_ptr<GeomAPI_Edge>(new GeomAPI_Edge());
- anEdge->setImpl(new TopoDS_Shape(aShape));
-
- isOk = anEdge->isLine();
- }
- }
- }
- }
- return isOk;
+ if (theArguments.size()!= 1)
+ return;
+
+ std::string anArgument = theArguments.front();
+ Handle(StdSelect_EdgeFilter) aFilter = Handle(StdSelect_EdgeFilter)::DownCast(getFilter());
+ if (!aFilter.IsNull())
+ aFilter->SetType(edgeType(anArgument));