Possibility of FaceColor and/or EdgeColor for mesh

Hi all,

I am developing a feature that require the user to select some meshFaces/meshEdges and maybe set different categories for them. The data can be stored in UserString, but we want to make sure the settings is visually straight foreword for the user, so I think changing the color would be a very intuitive way. However the mesh color seems to be only available through VertexColor. I am aware of the workaround to unweld the meshface and color its vertices, but this will change the underling mesh structure which is undesirable.

Is there any other workarounds I can make use of? I was thinking about creating some sorts of custom display conduit associated with the mesh. We can do that in C# dll (can be a plugin if it has to be) or in python. We are hoping to develop a tool that can integrate some advanced mesh operation algorithms down the road. It would be great to hear any thoughts and inputs for such interactive features.


I feel that Rhino.Display is the way to go. Would be great if there are some reference codes.