Query regarding creating trimmed Rev surface (Brep)

Hello Rhino Forum Team and @dale ,
I am working on converting Rhino Brep geometry into Parasolid. While traversing Brep data I get different type of surfaces like- Planer, NURBS, Sum surface and Rev surface.
I am able to create each surface successfully in Parasolid but I am facing issue while trimming Rev surface.
I have collected all the trim curve data (like- trim curve, curve domain, trim loop and trim set) from Rhino Brep and have passed it to Parasolid API ‘PK_SURF_make_sheet_trimmed’ to create a body (part) from it.
But I have observed (for Rev surface trimming only) that sometimes trimming gives me an opposite surface as a result if I reverse the trim curve data then it gives be correct body as result.

So my question, is there any API or flag available in openNURBS API which can tell me when to reverse the trimming curve and when not to reverse the trimming curve.
I am already aware about ‘bool m_bRev = false’ flag which tell us if face orientation is opposite of natural surface orientation.
Is there any other information from Rhino Brep which might be useful to me to resolve this issue.
If I create Rev surface using NURBS data then I am not facing this problem.

If possible please let me you suggestion ASAP.

Looks like you need the m_bRev3d parameter defined on the ON_BrepTrim object. See Rhino C++ API: ON_BrepTrim Class Reference

Also useful is this Brep Data Structure [McNeel Wiki]