It appears that when I load a model into OCCT using IGESCAFControl_Reader and then export the model using IGESCAFControl_Writer, that each non-trimmed NURBS surface (IGES 128 entity) in the original model is converted to a trimmed NURBS surface (IGES 144) in the output file. The trimming curves of each trimmed NURB are the edges of the original surface.
While this is geometrically correct, and I can understand from the OCCT point of view why its better to map faces to trimmed surfaces and edges to trimming curves, it is computationally undesirable for my application because trimmed NURBS surfaces are much more expensive for our simulation engine to process. Is there a way to disable or prevent this conversion for NURBS surfaces that are originally not trimmed? Specifically, is there a way to write an IGES file so that it contains the same number of trimmed surfaces and non-trimmed surfaces as the file that was originally read?
Is this behavior different between IGESControl_* classes and IGESCAFControl_* classes?