I have been serializing GeometryBase objects to compute hash strings. Recently, I noticed that if I access properties of a geometry, it will have an affect on object serialization and result in different outcomes if I compute a hash.
- I have a Brep and compute a hash for the object using serialization (4fa8603475f75dfd1745830587cca1f1abf6cb90)
- I then test the Brep.IsSolid property.
- If I then compute the hash after running this property, the hash changes (c890a47d91032434862f8f6a0d17734d8c16e5c0)
The way I have been getting around it is Duplicating the Brep and then testing that property so I preserve the original geometry exactly.
Even so, this seems an odd behavior if I am checking a property (as opposed to using a method, for example) - this leads me to believe that checking the property is changing something about the object itself. Is this the case? Is this a bug or a feature?