I'm running into a display problem after operating on a brep surface using the opennurbs package. I'm stretching a single surface and all the nurbs control curves by directly moving the CV points of the surface and the curves. The resulting surface and edges are mathematically correct, but if I open the file in Rhino to look at the stretched geometry I find the ends of the surface do not display. If I spin the view of the model, at some angles I can see the complete geometry. If I rebuild the surface, the display issue goes away. I believe the issue may be related to the bounding box for the object (feel free to correct me here). I've been trying to update the bounding box using opennurbs, but haven't figured out how to do this on my own. I've been successful in creating a new bounding box by scanning through the coordinates of the CV points and building a bounding box using the minimum and maximum values of the CV points in x, y, and z. Is it necessary to change the bounding box for the object to get it to display correctly, and is it possible to do so?
Can you post your geometry?
The code I am using is a very simple extension on the examples included with the opennurbs package. The geometry is a bit proprietary to post on the forum, but you should be able to run this on a single surface and see the effect I am describing.
I've found a workaround, by duplicating the original surface into a new ON_Brep (which isn't defined as a const) I can call ClearBoundingBox() and the bounding box will be reset to the correct size. I can then delete the original Brep and I'm left with an equivalent surface that views correctly when I open the file in Rhino.