Mesh data operation

I am currently developing a custom mesh unwrapping plugin.

I have implemented my algorithm (say Boundary First Flattening) using a simple half edge data structure computational geometry framework, and now I need to transplant it to Rhino 6.

As a newbie, I am not very familiar with Rhino mesh data structure, and still confused after reading the docs.So I decided to come here to seek help.

basically, I need some method to manipulate vertex and faces on mesh:

1.get vertex adjacent vertices.
2.get face adjacent faces.
3.get boundary vertices of given mesh.
4.get gaussian curvature of given mesh.
5.get geodesic curvature of given boundary vertices
6.get cotan-laplacian of given mesh.

If there are methods similar to 1 and 2 in rhino, I can implement 4, 5, and 6 on my own.( if there are native versions of 4, 5, and 6, the plugin performance would be better)

Any suggestions would be appreciated!

For mesh traversal, you’d need to use topology vertices:

To wrap your head around the relationship between a regular vertex and its topological counterparts, check out this great breakdown by @RIL