Is it possible to write a non destructive mesh modifier plugin?

Hello,
As the title suggests, i want to look into the possibility of developing a non-destructive mesh modifier system that takes as an input a mesh, has a few options and parameters, and allows for the initial mesh to be modified arbitrarily by the user (since it’s a non-destructive modifier).
Most mainstream 3d packages have that - 3ds, c4d and blender come to mind.

Now i want this to be a hobby project, also a good excuse to better myself in c++.

The question i want to ask is simple enough. In principle, is it possible?

I think in principle that is possible. You’d use the custom rendermesh provider to change the shape of the mesh without changing the original.

https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Render_CustomRenderMeshProvider2.htm

One sample usage in

I am assume that since it’s possible in c# it might also be possible with the c++ sdk

@andy - can you help with this?