diff --git a/src/BRepMesh/BRepMesh_EdgeParameterProvider.cxx b/src/BRepMesh/BRepMesh_EdgeParameterProvider.cxx index 927795635d..c5ae9c1036 100644 --- a/src/BRepMesh/BRepMesh_EdgeParameterProvider.cxx +++ b/src/BRepMesh/BRepMesh_EdgeParameterProvider.cxx @@ -32,7 +32,8 @@ BRepMesh_EdgeParameterProvider::BRepMesh_EdgeParameterProvider( const Handle(TColStd_HArray1OfReal)& theParameters) : myParameters(theParameters), myIsSameParam(BRep_Tool::SameParameter(theEdge)), - myScale(1.) + myScale(1.), + myCurveAdaptor(theEdge, theFace) { if (myIsSameParam) return; @@ -58,9 +59,8 @@ BRepMesh_EdgeParameterProvider::BRepMesh_EdgeParameterProvider( (aOldLastParam - myOldFirstParam); } - BRepAdaptor_Curve aCOnS(theEdge, theFace); - myProjector.Initialize(aCOnS, aCOnS.FirstParameter(), - aCOnS.LastParameter(), Precision::PConfusion()); + myProjector.Initialize(myCurveAdaptor, myCurveAdaptor.FirstParameter(), + myCurveAdaptor.LastParameter(), Precision::PConfusion()); } //======================================================================= diff --git a/src/BRepMesh/BRepMesh_EdgeParameterProvider.hxx b/src/BRepMesh/BRepMesh_EdgeParameterProvider.hxx index d1699f44bb..1a83050d34 100644 --- a/src/BRepMesh/BRepMesh_EdgeParameterProvider.hxx +++ b/src/BRepMesh/BRepMesh_EdgeParameterProvider.hxx @@ -20,6 +20,7 @@ #include #include #include +#include class gp_Pnt; class TopoDS_Edge; @@ -63,6 +64,7 @@ private: Standard_Real myCurParam; Standard_Real myFoundParam; + BRepAdaptor_Curve myCurveAdaptor; Extrema_LocateExtPC myProjector; };