I have a plugin that suddenly fails on serialization, specifically it states that Rhino.Collections.Point3dList + XAccess is not marked as serializable. I am fairly certain this issue just appeared, but also am confused, as I can’t find anywhere in my code where I use that class. I do have a few references to Point3dList but they are old, nothing changed there. I also and using Plankton very recently, but I am marking those fields to not serialize (which corrected that error).
Why are you using a
Point3dList collection and not a
I am not really using them, I searched my (massive) plugin for any references and a few methods popped up somewhere, in unrelated code. The references that popped up shouldn’t actually be being serialized. Just to make sure I am not mistaken, if I browse in VS to the class Rhino.Collections.Point3dList, and right click find all references, this should show me anytime I use that class, correct? When I do the same on Rhino.Collections.Point3dList.XAccess it tells me no references found, but when I save my file I get an exception in my serialization method. I assume this means that class is being called internally inside a rhino class which I reference, which I then serialize?
I checked the Plankton source and I don’t see any refs to this either. I would be happy to make it a List but I don’t know how to find it . It wasn’t me!
Edit: I just looked, the reason I used that collection was I was calling its .Transform() method to move all the points in one go. But I just refactored it out to be sure.
Edit2: I found it. In a class I just added, I serialized a Polyline. This inherits Point3dList, which includes child classes XAcess etc…Amazing that I never tried to serialize a polyline (and odd that it is such a big deal to try). I can factor this out, I don’t really need to store it.