+ double aParam1 = aLin1->projParam(aPnt);
+ double aParam2 = aLin2->projParam(aPnt);
+
+ GeomAPI_Curve aCurve1(aShp1);
+ GeomAPI_Curve aCurve2(aShp2);
+ bool isInside1 = ((aParam1 - aCurve1.startParam()) >= -Precision::Confusion()) &&
+ ((aCurve1.endParam() - aParam1) >= Precision::Confusion());
+ bool isInside2 = ((aParam2 - aCurve2.startParam()) >= -Precision::Confusion()) &&
+ ((aCurve2.endParam() - aParam2) >= Precision::Confusion());
+
+ if (!(isInside1 && isInside2))
+ aPnt = std::shared_ptr<GeomAPI_Pnt>();