From 371044bf67d8bb7b3289abd5bcafe05c1d1f8e5d Mon Sep 17 00:00:00 2001 From: Viktor Kovacs Date: Sat, 15 May 2021 11:47:43 +0200 Subject: [PATCH] Move exporter utils content to model utils. --- sandbox/embed_selfhost_fullscreen.html | 1 - sandbox/embed_selfhost_multiple.html | 1 - sandbox/embed_selfhost_single.html | 1 - sandbox/embed_selfhost_single_scroll.html | 1 - source/export/exporterutils.js | 34 -------------- source/model/model.js | 2 +- source/model/modelutils.js | 54 +++++++++++++++++++++++ tools/config.json | 1 - website/embed.html | 1 - website/index.html | 1 - 10 files changed, 55 insertions(+), 42 deletions(-) delete mode 100644 source/export/exporterutils.js diff --git a/sandbox/embed_selfhost_fullscreen.html b/sandbox/embed_selfhost_fullscreen.html index 8fa3857..aa422b0 100644 --- a/sandbox/embed_selfhost_fullscreen.html +++ b/sandbox/embed_selfhost_fullscreen.html @@ -39,7 +39,6 @@ - diff --git a/sandbox/embed_selfhost_multiple.html b/sandbox/embed_selfhost_multiple.html index 060eaf7..f667d31 100644 --- a/sandbox/embed_selfhost_multiple.html +++ b/sandbox/embed_selfhost_multiple.html @@ -41,7 +41,6 @@ - diff --git a/sandbox/embed_selfhost_single.html b/sandbox/embed_selfhost_single.html index 115f019..062dc2f 100644 --- a/sandbox/embed_selfhost_single.html +++ b/sandbox/embed_selfhost_single.html @@ -39,7 +39,6 @@ - diff --git a/sandbox/embed_selfhost_single_scroll.html b/sandbox/embed_selfhost_single_scroll.html index e27ad4c..47b7388 100644 --- a/sandbox/embed_selfhost_single_scroll.html +++ b/sandbox/embed_selfhost_single_scroll.html @@ -39,7 +39,6 @@ - diff --git a/source/export/exporterutils.js b/source/export/exporterutils.js deleted file mode 100644 index addca26..0000000 --- a/source/export/exporterutils.js +++ /dev/null @@ -1,34 +0,0 @@ -OV.EnumerateModelVerticesAndTriangles = function (model, callbacks) -{ - for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { - let mesh = model.GetMesh (meshIndex); - for (let vertexIndex = 0; vertexIndex < mesh.VertexCount (); vertexIndex++) { - let vertex = mesh.GetVertex (vertexIndex); - callbacks.onVertex (vertex.x, vertex.y, vertex.z); - } - } - let vertexOffset = 0; - for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { - let mesh = model.GetMesh (meshIndex); - for (let triangleIndex = 0; triangleIndex < mesh.TriangleCount (); triangleIndex++) { - let triangle = mesh.GetTriangle (triangleIndex); - callbacks.onTriangle (triangle.v0 + vertexOffset, triangle.v1 + vertexOffset, triangle.v2 + vertexOffset); - } - vertexOffset += mesh.VertexCount (); - } -}; - -OV.EnumerateModelTrianglesWithNormals = function (model, onTriangle) -{ - for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { - let mesh = model.GetMesh (meshIndex); - for (let triangleIndex = 0; triangleIndex < mesh.TriangleCount (); triangleIndex++) { - let triangle = mesh.GetTriangle (triangleIndex); - let v0 = mesh.GetVertex (triangle.v0); - let v1 = mesh.GetVertex (triangle.v1); - let v2 = mesh.GetVertex (triangle.v2); - let normal = OV.CalculateTriangleNormal (v0, v1, v2); - onTriangle (v0, v1, v2, normal); - } - } -}; diff --git a/source/model/model.js b/source/model/model.js index e1debef..1265069 100644 --- a/source/model/model.js +++ b/source/model/model.js @@ -95,7 +95,7 @@ OV.Model = class { return this.meshes[index]; } - + Clear () { this.name = ''; diff --git a/source/model/modelutils.js b/source/model/modelutils.js index 1d9f09a..fc0f3e0 100644 --- a/source/model/modelutils.js +++ b/source/model/modelutils.js @@ -171,3 +171,57 @@ OV.CreateMergedModel = function (model) mergedModel.AddMesh (mergedMesh); return mergedModel; }; + +OV.EnumerateModelVerticesAndTriangles = function (model, callbacks) +{ + for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { + let mesh = model.GetMesh (meshIndex); + for (let vertexIndex = 0; vertexIndex < mesh.VertexCount (); vertexIndex++) { + let vertex = mesh.GetVertex (vertexIndex); + callbacks.onVertex (vertex.x, vertex.y, vertex.z); + } + } + let vertexOffset = 0; + for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { + let mesh = model.GetMesh (meshIndex); + for (let triangleIndex = 0; triangleIndex < mesh.TriangleCount (); triangleIndex++) { + let triangle = mesh.GetTriangle (triangleIndex); + callbacks.onTriangle (triangle.v0 + vertexOffset, triangle.v1 + vertexOffset, triangle.v2 + vertexOffset); + } + vertexOffset += mesh.VertexCount (); + } +}; + +OV.EnumerateModelTriangles = function (model, onTriangle) +{ + for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { + let mesh = model.GetMesh (meshIndex); + for (let triangleIndex = 0; triangleIndex < mesh.TriangleCount (); triangleIndex++) { + let triangle = mesh.GetTriangle (triangleIndex); + let v0 = mesh.GetVertex (triangle.v0); + let v1 = mesh.GetVertex (triangle.v1); + let v2 = mesh.GetVertex (triangle.v2); + onTriangle (v0, v1, v2); + } + } +}; + +OV.EnumerateModelTrianglesWithNormals = function (model, onTriangle) +{ + for (let meshIndex = 0; meshIndex < model.MeshCount (); meshIndex++) { + let mesh = model.GetMesh (meshIndex); + for (let triangleIndex = 0; triangleIndex < mesh.TriangleCount (); triangleIndex++) { + let triangle = mesh.GetTriangle (triangleIndex); + let v0 = mesh.GetVertex (triangle.v0); + let v1 = mesh.GetVertex (triangle.v1); + let v2 = mesh.GetVertex (triangle.v2); + let normal = OV.CalculateTriangleNormal (v0, v1, v2); + onTriangle (v0, v1, v2, normal); + } + } +}; + +OV.IsModelClosed () +{ + +}; diff --git a/tools/config.json b/tools/config.json index 310d571..a3954ed 100644 --- a/tools/config.json +++ b/tools/config.json @@ -35,7 +35,6 @@ "source/import/importer3ds.js", "source/import/importergltf.js", "source/import/importer.js", - "source/export/exporterutils.js", "source/export/exporterbase.js", "source/export/exporterobj.js", "source/export/exporterstl.js", diff --git a/website/embed.html b/website/embed.html index 345e276..115ccbe 100644 --- a/website/embed.html +++ b/website/embed.html @@ -48,7 +48,6 @@ - diff --git a/website/index.html b/website/index.html index fcdf0f5..bebe7a4 100644 --- a/website/index.html +++ b/website/index.html @@ -48,7 +48,6 @@ -