From b50c8f2d02fef36a1a92008343f91e41a214b7f0 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Mon, 7 Jul 2014 19:26:14 -0400 Subject: [PATCH] Renamed MQODataFormat to MQOTextDataFormat (is there a binary version as well?) --- .../Model/Metasequoia/MQODataFormat.cs | 46 ------------- .../Model/Metasequoia/MQOTextDataFormat.cs | 64 +++++++++++++++++++ 2 files changed, 64 insertions(+), 46 deletions(-) delete mode 100644 CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQODataFormat.cs create mode 100644 CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQOTextDataFormat.cs diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQODataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQODataFormat.cs deleted file mode 100644 index 3e5c5359..00000000 --- a/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQODataFormat.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using UniversalEditor.ObjectModels.Multimedia3D.Model; -namespace UniversalEditor.DataFormats.Multimedia3D.Model.Metasequoia -{ - public class MQODataFormat : DataFormat - { - public override DataFormatReference MakeReference() - { - DataFormatReference dfr = base.MakeReference(); - dfr.Filters.Add("Metasequoia model", new string[] { "*.mqo" }); - dfr.Capabilities.Add(typeof(ModelObjectModel), DataFormatCapabilities.All); - return dfr; - } - protected override void LoadInternal(ref ObjectModel objectModel) - { - throw new NotImplementedException(); - } - protected override void SaveInternal(ObjectModel objectModel) - { - ModelObjectModel model = (objectModel as ModelObjectModel); - if (model == null) return; - - IO.Reader tr = base.Accessor.Reader; - string MetasequoiaDocument = tr.ReadLine(); - if (MetasequoiaDocument != "MetasequoiaDocument") throw new InvalidDataFormatException("File does not begin with \"MetasequoiaDocument\""); - - string DocumentFormat = tr.ReadLine(); - if (DocumentFormat != "Format Text Ver 1.0") throw new InvalidDataFormatException("Cannot understand Metasequoia format \"" + DocumentFormat + "\""); - - while (!tr.EndOfStream) - { - string line = tr.ReadLine(); - if (String.IsNullOrEmpty(line.Trim())) continue; - - if (line.StartsWith("Scene ")) - { - } - else if (line.StartsWith("Material ")) - { - string materialCountStr = line.Substring(9, line.IndexOf("{") - 9); - int materialCount = Int32.Parse(materialCountStr); - } - } - } - } -} diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQOTextDataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQOTextDataFormat.cs new file mode 100644 index 00000000..2b6279c7 --- /dev/null +++ b/CSharp/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Model/Metasequoia/MQOTextDataFormat.cs @@ -0,0 +1,64 @@ +using System; +using UniversalEditor.ObjectModels.Multimedia3D.Model; + +namespace UniversalEditor.DataFormats.Multimedia3D.Model.Metasequoia +{ + public class MQOTextDataFormat : DataFormat + { + public override DataFormatReference MakeReference() + { + DataFormatReference dfr = base.MakeReference(); + dfr.Filters.Add("Metasequoia model", new string[] { "*.mqo" }); + dfr.Capabilities.Add(typeof(ModelObjectModel), DataFormatCapabilities.All); + return dfr; + } + + private float mvarFormatVersion = 1.0f; + public float FormatVersion { get { return mvarFormatVersion; } set { mvarFormatVersion = value; } } + + protected override void LoadInternal(ref ObjectModel objectModel) + { + ModelObjectModel model = (objectModel as ModelObjectModel); + if (model == null) throw new ObjectModelNotSupportedException(); + + IO.Reader tr = base.Accessor.Reader; + string MetasequoiaDocument = tr.ReadLine(); + if (MetasequoiaDocument != "MetasequoiaDocument") throw new InvalidDataFormatException("File does not begin with \"MetasequoiaDocument\""); + + string DocumentFormat = tr.ReadLine(); + if (!DocumentFormat.StartsWith("Format Text Ver ")) throw new InvalidDataFormatException("Cannot understand Metasequoia format \"" + DocumentFormat + "\""); + + mvarFormatVersion = Single.Parse(DocumentFormat.Substring(16)); + + while (!tr.EndOfStream) + { + string line = tr.ReadLine(); + if (String.IsNullOrEmpty(line.Trim())) continue; + + if (line.StartsWith("Scene ")) + { + } + else if (line.StartsWith("Material ")) + { + string materialCountStr = line.Substring(9, line.IndexOf("{") - 9); + int materialCount = Int32.Parse(materialCountStr); + } + } + } + protected override void SaveInternal(ObjectModel objectModel) + { + ModelObjectModel model = (objectModel as ModelObjectModel); + if (model == null) throw new ObjectModelNotSupportedException(); + + IO.Writer tw = base.Accessor.Writer; + tw.WriteLine("MetasequoiaDocument"); + + tw.WriteLine("Format Text Ver " + mvarFormatVersion.ToString("0.#")); + + tw.WriteLine("Material " + model.Materials.Count.ToString()); + foreach (ModelMaterial mat in model.Materials) + { + } + } + } +}