What is the role opennurbs played in rhino

hello, I’m confused with the role opennurbs played in rhino. generally, it’s said a 3rd party library to read and write 3dm files. but some researchers said it’s also the geometric kernel in rhino. as far as I know, the geometric object may be the same, but algorithms like intersection are totally different. can anyone tell me which kind of view is right? thanks ahead of time.

Have you read openNURBS Guides with C/C++ yet?

thanks very much