How to determine the gp_Pnt point's U parameter on a curve

I have made a Geom_BSplineCurve by 10 points( In gp_Pnt type) using GeomAPI_Interpolate. But I want to get a segment of this Geom_BSplineCurve from such as point 3 to point 7 or two points which created by this curve and other surfaces intersecting. I know I can use the Geom_BSplineCurve::Segment(Standard_Real U1, Standard_Real U2) method to get the segment. I only know those points' X,Y and Z,  but how can I get those points' U parameter value?   (Those points are on the curve.) Thanks for help.



qa qa's picture


You can try GeomAPI_ProjectPointOnCurve to get parameters

qa qa

X F's picture

Thanks so much!