You will have to handle the (de)serialization of Model3DGroup yourself.
Create a [Serializable]-decorated class that derives from
Model3DGroup
and implements the
ISerializable interface[
^]. If all goes well, you should be able to replace the original
Model3DGroup
by your
SerializableModel3DGroup
wherever it occurs without changing any of the surrounding code. Plus
Model
would be serializable.
The difficult or tedius part will then be the interface implementation, which basically means the
GetObjectData(SerializationInfo, StreamingContext)
method and a constructor with the same parameters. The former turns your object into a byte stream, the latter reverts the process. More precisely, you will have to make it behave like that. But
how you're achieving this totally depends on the
Model3DGroup
class and what you want to serialize out of it (basically all information that is needed to reconstruct an instance thereof).