private void loadToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { SkeletDrawInfo _sdi; System.IO.Stream stream = new System.IO.FileStream(ofd.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read); try { _sdi = (SkeletDrawInfo)formatter.Deserialize(stream); if (_sdi.nodes.Length == skelet.bones.Length && _sdi.relations.Length == sdi.relations.Length) { _sdi.sk = skelet; for (int o = 0; o < _sdi.nodes.Length; o++) _sdi.nodes[o].bone = skelet.bones[_sdi.nodes[o].index]; sdi = _sdi; Invalidate(); } } catch (System.Runtime.Serialization.SerializationException) { System.Windows.Forms.MessageBox.Show("Wrong file format"); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); } finally { stream.Close(); } } }
public SkeletonViewer(Skeleton _skel) { InitializeComponent(); skelet = _skel; sdi = new SkeletDrawInfo(skelet, ClientRectangle); }