Use Rhino functionality in C++ application

No, you can’t embed Rhino functionality into another application and, if you want to read IGES, OpenNURBS is also not an alternative because it only reads and writes 3dm (the OpenNURBS format).

What you may want to consider is to create the functionality you desire as a plug-in for Rhino. Rhino is very extensible with plug-ins, in C++, .NET languagues and Python, as well as by scripting. The user can load the IGES file using default Rhino functionality and you can supply commands to work on the NURBS data in the Rhino document. It’s also possible to support your own data formats, using import/export plug-ins.

Another alternative is to create a C++ application that is built on top of OpenCASCADE, an open source CAD kernel. See http://www.opencascade.org for more details.

Yet another alternative is to license a commercial CAD kernel, like ACIS or ParaSolid. These are very powerful, but expensive, and you still need to build a C++ app around it.

Seeing as you want to use NURBS with trimming, my personal opinion is that you are best of with a Rhino plug-in. I have worked with OpenCASCADE for a bit, and have a lot of experience in Rhino and the SDK is much more user-friendly and documentation of Rhino is much better.