diff --git a/src/cs/vim/Vim.Format.Tests/EntityTable_v2_Tests.cs b/src/cs/vim/Vim.Format.Tests/EntityTable_v2_Tests.cs index f9d9c28a..560e5887 100644 --- a/src/cs/vim/Vim.Format.Tests/EntityTable_v2_Tests.cs +++ b/src/cs/vim/Vim.Format.Tests/EntityTable_v2_Tests.cs @@ -22,8 +22,7 @@ public static void TestEntityTable_v2_Parity() // EntityTable_v2 manual construction. var fileInfo = new FileInfo(vimFilePath); - var entityTables = fileInfo.EnumerateEntityTables(false).ToArray(); - var entityTableSet = new EntityTableSet(entityTables, stringBuffer); + var entityTableSet = new EntityTableSet(fileInfo, false, stringBuffer); var baseElementCount = dm.NumElement; var nextElementCount = entityTableSet.ElementTable.RowCount; diff --git a/src/cs/vim/Vim.Format/ObjectModel/EntityTableSet.cs b/src/cs/vim/Vim.Format/ObjectModel/EntityTableSet.cs new file mode 100644 index 00000000..94e45670 --- /dev/null +++ b/src/cs/vim/Vim.Format/ObjectModel/EntityTableSet.cs @@ -0,0 +1,27 @@ +using System; +using System.IO; +using System.Linq; + +namespace Vim.Format.ObjectModel +{ + /// + /// Additional partial definitions of EntityTableSet. + /// + public partial class EntityTableSet + { + /// + /// Convenience constructor for seeking entity table information in a VIM file. + /// + public EntityTableSet( + FileInfo vimFileInfo, + bool schemaOnly, + string[] stringBuffer, + Func entityTableNameFilterFunc = null, + bool inParallel = true) + : this( + vimFileInfo.EnumerateEntityTables(schemaOnly, entityTableNameFilterFunc).ToArray(), + stringBuffer, + inParallel) + { } + } +} diff --git a/src/cs/vim/Vim.Format/ObjectModel/ObjectModel.cs b/src/cs/vim/Vim.Format/ObjectModel/ObjectModel.cs index 62485741..05378e2c 100644 --- a/src/cs/vim/Vim.Format/ObjectModel/ObjectModel.cs +++ b/src/cs/vim/Vim.Format/ObjectModel/ObjectModel.cs @@ -1222,6 +1222,7 @@ public partial class Node : EntityWithElement /// Represents a mesh in the G3D buffer of the VIM file. /// [TableName(TableNames.Geometry)] + [G3dAttributeReference("g3d:mesh:submeshoffset:0:int32:1", G3dAttributeReferenceMultiplicity.OneToOne)] public partial class Geometry : Entity { public float Box_Min_X; diff --git a/src/cs/vim/Vim.Format/SceneBuilder/VimScene.cs b/src/cs/vim/Vim.Format/SceneBuilder/VimScene.cs index 0d744a39..6c515a93 100644 --- a/src/cs/vim/Vim.Format/SceneBuilder/VimScene.cs +++ b/src/cs/vim/Vim.Format/SceneBuilder/VimScene.cs @@ -72,7 +72,6 @@ public VimScene(SerializableDocument doc, IVimSceneProgress progress = null, boo VimIndex = vimIndex; progress?.Report(($"Creating scene from {doc.FileName}", 0.0)); - var actions = GetInitStepsWithProgress(inParallel, progress); if (inParallel)