What is the impact of getting the nurbs form on parametric space?

I have an ON_CurveOnSurface. If the surface (m_S) is not an ON_NurbsSurface, then I want to get the nurbs form, which I can do using the surface’s GetNurbForm function.

Please excuse my ignorance: My question is, does openNURBS implement the GetNurbForm functions in a way that maintains the relationship between parametric and 3d space? That is, if I replaced m_S in my ON_CurveOnSurface with the new nurbs form, would the 2d parametric curve (m_c2) still correspond to the same 3d space curve when applied to the nurbs form of the surface? If not, is there a way to transform m_c2 using functionality in openNURBS so that I can update it appropriately for the new nurbs form of the surface?

Hi @stephen.banks,

After replacing the surface, the 2D curve will not be correct. You will need to pullback the 3D curve to the new surface, thus producing a new 2D curve.

Note, ON_Surface::Pullback is not supported in standalone openNURBS, so it might not be easy to do.

That said, there is ON_Surface::GetNurbFormParameterFromSurfaceParameter, which can be used to find the correct 2D point on the desired 2D curve that corresponds to a point on the old one. With some work, it could be used to create the new 2D curve.

Hope this helps.

– Dale

Thanks, @dale