- if ( GEOMBase::GetShape( myObject, aShape, TopAbs_SHAPE ) ) {
- if (aShape.ShapeType() == TopAbs_EDGE) {
- Standard_Real aFP, aLP, aP;
- Handle(Geom_Curve) aCurve = BRep_Tool::Curve(TopoDS::Edge(aShape), aFP, aLP);
- aP = aFP + (aLP - aFP) * myValEdt->value();
- aPnt = aCurve->Value(aP);
- BRepBuilderAPI_MakeVertex mkVertex (aPnt);
- aShape = mkVertex.Shape();
- // Build prs
- SALOME_Prs* aPrs = getDisplayer()->BuildPrs( aShape );
- if ( aPrs != 0 && !aPrs->IsNull() )
- GEOMBase_Helper::displayPreview( aPrs, false, true );
- }
+ GEOMBase::GetShape( myObject, aShape, TopAbs_SHAPE );
+
+ if ( myIndex != -1) {
+ TopTools_IndexedMapOfShape aShapes;
+ TopExp::MapShapes(aShape, aShapes);
+ aShape = aShapes.FindKey(myIndex);