diff --git a/source/export/exporter.js b/source/export/exporter.js
index ddc3c44..dd27fec 100644
--- a/source/export/exporter.js
+++ b/source/export/exporter.js
@@ -1,26 +1,26 @@
OV.Exporter = class
{
- constructor ()
- {
- this.exporters = [
- new OV.ExporterObj (),
- new OV.ExporterStl (),
- new OV.ExporterPly (),
- new OV.ExporterOff (),
- new OV.ExporterGltf ()
- ];
- }
+ constructor ()
+ {
+ this.exporters = [
+ new OV.ExporterObj (),
+ new OV.ExporterStl (),
+ new OV.ExporterPly (),
+ new OV.ExporterOff (),
+ new OV.ExporterGltf ()
+ ];
+ }
- Export (model, format, extension)
- {
- let files = [];
- for (let i = 0; i < this.exporters.length; i++) {
- let exporter = this.exporters[i];
- if (exporter.CanExport (format, extension)) {
- exporter.Export (model, format, files);
- break;
- }
- }
- return files;
- }
+ Export (model, format, extension)
+ {
+ let files = [];
+ for (let i = 0; i < this.exporters.length; i++) {
+ let exporter = this.exporters[i];
+ if (exporter.CanExport (format, extension)) {
+ exporter.Export (model, format, files);
+ break;
+ }
+ }
+ return files;
+ }
};
diff --git a/source/model/mesh.js b/source/model/mesh.js
index ab3927f..626052f 100644
--- a/source/model/mesh.js
+++ b/source/model/mesh.js
@@ -1,100 +1,100 @@
OV.Mesh = class
{
- constructor ()
- {
- this.name = '';
- this.vertices = [];
- this.normals = [];
- this.uvs = [];
- this.triangles = [];
- }
+ constructor ()
+ {
+ this.name = '';
+ this.vertices = [];
+ this.normals = [];
+ this.uvs = [];
+ this.triangles = [];
+ }
- GetName ()
- {
- return this.name;
- }
-
- SetName (name)
- {
- this.name = name;
- }
-
- VertexCount ()
- {
- return this.vertices.length;
- }
-
- NormalCount ()
- {
- return this.normals.length;
- }
-
- TextureUVCount ()
- {
- return this.uvs.length;
- }
-
- TriangleCount ()
- {
- return this.triangles.length;
- }
-
- AddVertex (vertex)
- {
- this.vertices.push (vertex);
- return this.vertices.length - 1;
- }
+ GetName ()
+ {
+ return this.name;
+ }
+
+ SetName (name)
+ {
+ this.name = name;
+ }
+
+ VertexCount ()
+ {
+ return this.vertices.length;
+ }
+
+ NormalCount ()
+ {
+ return this.normals.length;
+ }
+
+ TextureUVCount ()
+ {
+ return this.uvs.length;
+ }
+
+ TriangleCount ()
+ {
+ return this.triangles.length;
+ }
+
+ AddVertex (vertex)
+ {
+ this.vertices.push (vertex);
+ return this.vertices.length - 1;
+ }
- SetVertex (index, vertex)
- {
- this.vertices[index] = vertex;
- }
-
- GetVertex (index)
- {
- return this.vertices[index];
- }
-
- AddNormal (normal)
- {
- this.normals.push (normal);
- return this.normals.length - 1;
- }
+ SetVertex (index, vertex)
+ {
+ this.vertices[index] = vertex;
+ }
+
+ GetVertex (index)
+ {
+ return this.vertices[index];
+ }
+
+ AddNormal (normal)
+ {
+ this.normals.push (normal);
+ return this.normals.length - 1;
+ }
- SetNormal (index, normal)
- {
- this.normals[index] = normal;
- }
+ SetNormal (index, normal)
+ {
+ this.normals[index] = normal;
+ }
- GetNormal (index)
- {
- return this.normals[index];
- }
-
- AddTextureUV (uv)
- {
- this.uvs.push (uv);
- return this.uvs.length - 1;
- }
+ GetNormal (index)
+ {
+ return this.normals[index];
+ }
+
+ AddTextureUV (uv)
+ {
+ this.uvs.push (uv);
+ return this.uvs.length - 1;
+ }
- SetTextureUV (index, uv)
- {
- this.uvs[index] = uv;
- }
-
- GetTextureUV (index)
- {
- return this.uvs[index];
- }
-
- AddTriangle (triangle)
- {
- this.triangles.push (triangle);
- return this.triangles.length - 1;
- }
-
- GetTriangle (index)
- {
- return this.triangles[index];
- }
+ SetTextureUV (index, uv)
+ {
+ this.uvs[index] = uv;
+ }
+
+ GetTextureUV (index)
+ {
+ return this.uvs[index];
+ }
+
+ AddTriangle (triangle)
+ {
+ this.triangles.push (triangle);
+ return this.triangles.length - 1;
+ }
+
+ GetTriangle (index)
+ {
+ return this.triangles[index];
+ }
};
diff --git a/source/model/model.js b/source/model/model.js
index 0f459c0..e1debef 100644
--- a/source/model/model.js
+++ b/source/model/model.js
@@ -1,105 +1,105 @@
OV.Model = class
{
- constructor ()
- {
- this.name = '';
- this.materials = [];
- this.meshes = [];
- }
+ constructor ()
+ {
+ this.name = '';
+ this.materials = [];
+ this.meshes = [];
+ }
- GetName ()
- {
- return this.name;
- }
+ GetName ()
+ {
+ return this.name;
+ }
- SetName (name)
- {
- this.name = name;
- }
+ SetName (name)
+ {
+ this.name = name;
+ }
- MaterialCount ()
- {
- return this.materials.length;
- }
+ MaterialCount ()
+ {
+ return this.materials.length;
+ }
- MeshCount ()
- {
- return this.meshes.length;
- }
+ MeshCount ()
+ {
+ return this.meshes.length;
+ }
- VertexCount ()
- {
- let count = 0;
- for (let i = 0; i < this.meshes.length; i++) {
- count += this.meshes[i].VertexCount ();
- }
- return count;
- }
+ VertexCount ()
+ {
+ let count = 0;
+ for (let i = 0; i < this.meshes.length; i++) {
+ count += this.meshes[i].VertexCount ();
+ }
+ return count;
+ }
- NormalCount ()
- {
- let count = 0;
- for (let i = 0; i < this.meshes.length; i++) {
- count += this.meshes[i].NormalCount ();
- }
- return count;
- }
+ NormalCount ()
+ {
+ let count = 0;
+ for (let i = 0; i < this.meshes.length; i++) {
+ count += this.meshes[i].NormalCount ();
+ }
+ return count;
+ }
- TextureUVCount ()
- {
- let count = 0;
- for (let i = 0; i < this.meshes.length; i++) {
- count += this.meshes[i].TextureUVCount ();
- }
- return count;
- }
+ TextureUVCount ()
+ {
+ let count = 0;
+ for (let i = 0; i < this.meshes.length; i++) {
+ count += this.meshes[i].TextureUVCount ();
+ }
+ return count;
+ }
- TriangleCount ()
- {
- let count = 0;
- for (let i = 0; i < this.meshes.length; i++) {
- count += this.meshes[i].TriangleCount ();
- }
- return count;
- }
+ TriangleCount ()
+ {
+ let count = 0;
+ for (let i = 0; i < this.meshes.length; i++) {
+ count += this.meshes[i].TriangleCount ();
+ }
+ return count;
+ }
- AddMaterial (material)
- {
- this.materials.push (material);
- return this.materials.length - 1;
- }
+ AddMaterial (material)
+ {
+ this.materials.push (material);
+ return this.materials.length - 1;
+ }
- GetMaterial (index)
- {
- return this.materials[index];
- }
+ GetMaterial (index)
+ {
+ return this.materials[index];
+ }
- AddMesh (mesh)
- {
- this.meshes.push (mesh);
- return this.meshes.length - 1;
- }
+ AddMesh (mesh)
+ {
+ this.meshes.push (mesh);
+ return this.meshes.length - 1;
+ }
- AddMeshToIndex (mesh, index)
- {
- this.meshes.splice (index, 0, mesh);
- return index;
- }
+ AddMeshToIndex (mesh, index)
+ {
+ this.meshes.splice (index, 0, mesh);
+ return index;
+ }
- RemoveMesh (index)
- {
- this.meshes.splice (index, 1);
- }
+ RemoveMesh (index)
+ {
+ this.meshes.splice (index, 1);
+ }
- GetMesh (index)
- {
- return this.meshes[index];
- }
+ GetMesh (index)
+ {
+ return this.meshes[index];
+ }
- Clear ()
- {
- this.name = '';
- this.materials = [];
- this.meshes = [];
- }
+ Clear ()
+ {
+ this.name = '';
+ this.materials = [];
+ this.meshes = [];
+ }
};
diff --git a/source/model/modelentities.js b/source/model/modelentities.js
index 18c2076..958c754 100644
--- a/source/model/modelentities.js
+++ b/source/model/modelentities.js
@@ -1,255 +1,255 @@
OV.SRGBToLinear = function (component)
{
- if (component < 0.04045) {
- return component * 0.0773993808;
- } else {
- return Math.pow (component * 0.9478672986 + 0.0521327014, 2.4);
- }
+ if (component < 0.04045) {
+ return component * 0.0773993808;
+ } else {
+ return Math.pow (component * 0.9478672986 + 0.0521327014, 2.4);
+ }
};
OV.LinearToSRGB = function (component)
{
- if (component < 0.0031308) {
- return component * 12.92;
- } else {
- return 1.055 * (Math.pow (component, 0.41666)) - 0.055;
- }
+ if (component < 0.0031308) {
+ return component * 12.92;
+ } else {
+ return 1.055 * (Math.pow (component, 0.41666)) - 0.055;
+ }
};
OV.Color = class
{
- constructor (r, g, b)
- {
- this.r = r; // 0 .. 255
- this.g = g; // 0 .. 255
- this.b = b; // 0 .. 255
- }
+ constructor (r, g, b)
+ {
+ this.r = r; // 0 .. 255
+ this.g = g; // 0 .. 255
+ this.b = b; // 0 .. 255
+ }
- ToHexString ()
- {
- function IntegerToHex (intVal)
- {
- let result = parseInt (intVal, 10).toString (16);
- while (result.length < 2) {
- result = '0' + result;
- }
- return result;
- }
+ ToHexString ()
+ {
+ function IntegerToHex (intVal)
+ {
+ let result = parseInt (intVal, 10).toString (16);
+ while (result.length < 2) {
+ result = '0' + result;
+ }
+ return result;
+ }
- let r = IntegerToHex (this.r);
- let g = IntegerToHex (this.g);
- let b = IntegerToHex (this.b);
- return r + g + b;
- }
+ let r = IntegerToHex (this.r);
+ let g = IntegerToHex (this.g);
+ let b = IntegerToHex (this.b);
+ return r + g + b;
+ }
- Clone ()
- {
- return new OV.Color (this.r, this.g, this.b);
- }
+ Clone ()
+ {
+ return new OV.Color (this.r, this.g, this.b);
+ }
};
OV.TextureMap = class
{
- constructor ()
- {
- this.name = null;
- this.url = null;
- this.buffer = null;
- this.offset = new OV.Coord2D (0.0, 0.0);
- this.scale = new OV.Coord2D (1.0, 1.0);
- this.rotation = 0.0; // radians
- }
+ constructor ()
+ {
+ this.name = null;
+ this.url = null;
+ this.buffer = null;
+ this.offset = new OV.Coord2D (0.0, 0.0);
+ this.scale = new OV.Coord2D (1.0, 1.0);
+ this.rotation = 0.0; // radians
+ }
- IsValid ()
- {
- return this.name !== null && this.url !== null && this.buffer !== null;
- }
+ IsValid ()
+ {
+ return this.name !== null && this.url !== null && this.buffer !== null;
+ }
- HasTransformation ()
- {
- if (!OV.CoordIsEqual2D (this.offset, new OV.Coord2D (0.0, 0.0))) {
- return true;
- }
- if (!OV.CoordIsEqual2D (this.scale, new OV.Coord2D (1.0, 1.0))) {
- return true;
- }
- if (!OV.IsEqual (this.rotation, 0.0)) {
- return true;
- }
+ HasTransformation ()
+ {
+ if (!OV.CoordIsEqual2D (this.offset, new OV.Coord2D (0.0, 0.0))) {
+ return true;
+ }
+ if (!OV.CoordIsEqual2D (this.scale, new OV.Coord2D (1.0, 1.0))) {
+ return true;
+ }
+ if (!OV.IsEqual (this.rotation, 0.0)) {
+ return true;
+ }
return false;
- }
+ }
- Clone ()
- {
- let cloned = new OV.TextureMap ();
- cloned.name = this.name;
- cloned.url = this.url;
- cloned.buffer = this.buffer;
- cloned.offset = this.offset.Clone ();
- cloned.scale = this.scale.Clone ();
- cloned.rotation = this.rotation;
- return cloned;
- }
+ Clone ()
+ {
+ let cloned = new OV.TextureMap ();
+ cloned.name = this.name;
+ cloned.url = this.url;
+ cloned.buffer = this.buffer;
+ cloned.offset = this.offset.Clone ();
+ cloned.scale = this.scale.Clone ();
+ cloned.rotation = this.rotation;
+ return cloned;
+ }
};
OV.Material = class
{
- constructor ()
- {
- this.name = '';
+ constructor ()
+ {
+ this.name = '';
- this.ambient = new OV.Color (0, 0, 0);
- this.diffuse = new OV.Color (0, 0, 0);
- this.specular = new OV.Color (0, 0, 0);
- this.emissive = new OV.Color (0, 0, 0);
+ this.ambient = new OV.Color (0, 0, 0);
+ this.diffuse = new OV.Color (0, 0, 0);
+ this.specular = new OV.Color (0, 0, 0);
+ this.emissive = new OV.Color (0, 0, 0);
- this.shininess = 0.0; // 0.0 .. 1.0
- this.opacity = 1.0; // 0.0 .. 1.0
+ this.shininess = 0.0; // 0.0 .. 1.0
+ this.opacity = 1.0; // 0.0 .. 1.0
- this.diffuseMap = null;
- this.specularMap = null;
- this.bumpMap = null;
- this.normalMap = null;
- this.emissiveMap = null;
+ this.diffuseMap = null;
+ this.specularMap = null;
+ this.bumpMap = null;
+ this.normalMap = null;
+ this.emissiveMap = null;
- this.alphaTest = 0.0; // 0.0 .. 1.0
- this.transparent = false;
- this.multiplyDiffuseMap = false;
- }
+ this.alphaTest = 0.0; // 0.0 .. 1.0
+ this.transparent = false;
+ this.multiplyDiffuseMap = false;
+ }
- EnumerateTextureMaps (enumerator)
- {
- if (this.diffuseMap !== null) {
- enumerator (this.diffuseMap);
- }
- if (this.specularMap !== null) {
- enumerator (this.specularMap);
- }
- if (this.bumpMap !== null) {
- enumerator (this.bumpMap);
- }
- if (this.normalMap !== null) {
- enumerator (this.normalMap);
- }
- if (this.emissiveMap !== null) {
- enumerator (this.emissiveMap);
- }
- }
+ EnumerateTextureMaps (enumerator)
+ {
+ if (this.diffuseMap !== null) {
+ enumerator (this.diffuseMap);
+ }
+ if (this.specularMap !== null) {
+ enumerator (this.specularMap);
+ }
+ if (this.bumpMap !== null) {
+ enumerator (this.bumpMap);
+ }
+ if (this.normalMap !== null) {
+ enumerator (this.normalMap);
+ }
+ if (this.emissiveMap !== null) {
+ enumerator (this.emissiveMap);
+ }
+ }
- Clone ()
- {
- let cloned = new OV.Material ();
+ Clone ()
+ {
+ let cloned = new OV.Material ();
- cloned.name = this.name;
+ cloned.name = this.name;
- cloned.ambient = this.ambient.Clone ();
- cloned.diffuse = this.diffuse.Clone ();
- cloned.specular = this.specular.Clone ();
- cloned.emissive = this.emissive.Clone ();
+ cloned.ambient = this.ambient.Clone ();
+ cloned.diffuse = this.diffuse.Clone ();
+ cloned.specular = this.specular.Clone ();
+ cloned.emissive = this.emissive.Clone ();
- cloned.shininess = this.shininess;
- cloned.opacity = this.opacity;
+ cloned.shininess = this.shininess;
+ cloned.opacity = this.opacity;
- cloned.diffuseMap = this.CloneTextureMap (this.diffuseMap);
- cloned.specularMap = this.CloneTextureMap (this.specularMap);
- cloned.bumpMap = this.CloneTextureMap (this.bumpMap);
- cloned.normalMap = this.CloneTextureMap (this.normalMap);
- cloned.emissiveMap = this.CloneTextureMap (this.emissiveMap);
+ cloned.diffuseMap = this.CloneTextureMap (this.diffuseMap);
+ cloned.specularMap = this.CloneTextureMap (this.specularMap);
+ cloned.bumpMap = this.CloneTextureMap (this.bumpMap);
+ cloned.normalMap = this.CloneTextureMap (this.normalMap);
+ cloned.emissiveMap = this.CloneTextureMap (this.emissiveMap);
- cloned.alphaTest = this.alphaTest;
- cloned.transparent = this.transparent;
- cloned.multiplyDiffuseMap = this.multiplyDiffuseMap;
+ cloned.alphaTest = this.alphaTest;
+ cloned.transparent = this.transparent;
+ cloned.multiplyDiffuseMap = this.multiplyDiffuseMap;
- return cloned;
- }
+ return cloned;
+ }
- CloneTextureMap (textureMap)
- {
- if (textureMap === null) {
- return null;
- }
- return textureMap.Clone ();
- }
+ CloneTextureMap (textureMap)
+ {
+ if (textureMap === null) {
+ return null;
+ }
+ return textureMap.Clone ();
+ }
};
OV.Triangle = class
{
- constructor (v0, v1, v2)
- {
- this.v0 = v0;
- this.v1 = v1;
- this.v2 = v2;
-
- this.n0 = null;
- this.n1 = null;
- this.n2 = null;
-
- this.u0 = null;
- this.u1 = null;
- this.u2 = null;
-
- this.mat = null;
- this.curve = null;
- }
+ constructor (v0, v1, v2)
+ {
+ this.v0 = v0;
+ this.v1 = v1;
+ this.v2 = v2;
+
+ this.n0 = null;
+ this.n1 = null;
+ this.n2 = null;
+
+ this.u0 = null;
+ this.u1 = null;
+ this.u2 = null;
+
+ this.mat = null;
+ this.curve = null;
+ }
- HasVertices ()
- {
- return this.v0 !== null && this.v1 !== null && this.v2 !== null;
- }
+ HasVertices ()
+ {
+ return this.v0 !== null && this.v1 !== null && this.v2 !== null;
+ }
- HasNormals ()
- {
- return this.n0 !== null && this.n1 !== null && this.n2 !== null;
- }
+ HasNormals ()
+ {
+ return this.n0 !== null && this.n1 !== null && this.n2 !== null;
+ }
- HasTextureUVs ()
- {
- return this.u0 !== null && this.u1 !== null && this.u2 !== null;
- }
+ HasTextureUVs ()
+ {
+ return this.u0 !== null && this.u1 !== null && this.u2 !== null;
+ }
- SetVertices (v0, v1, v2)
- {
- this.v0 = v0;
- this.v1 = v1;
- this.v2 = v2;
- return this;
- }
-
- SetNormals (n0, n1, n2)
- {
- this.n0 = n0;
- this.n1 = n1;
- this.n2 = n2;
- return this;
- }
-
- SetTextureUVs (u0, u1, u2)
- {
- this.u0 = u0;
- this.u1 = u1;
- this.u2 = u2;
- return this;
- }
+ SetVertices (v0, v1, v2)
+ {
+ this.v0 = v0;
+ this.v1 = v1;
+ this.v2 = v2;
+ return this;
+ }
+
+ SetNormals (n0, n1, n2)
+ {
+ this.n0 = n0;
+ this.n1 = n1;
+ this.n2 = n2;
+ return this;
+ }
+
+ SetTextureUVs (u0, u1, u2)
+ {
+ this.u0 = u0;
+ this.u1 = u1;
+ this.u2 = u2;
+ return this;
+ }
- SetMaterial (mat)
- {
- this.mat = mat;
- return this;
- }
-
- SetCurve (curve)
- {
- this.curve = curve;
- return this;
- }
+ SetMaterial (mat)
+ {
+ this.mat = mat;
+ return this;
+ }
+
+ SetCurve (curve)
+ {
+ this.curve = curve;
+ return this;
+ }
- Clone ()
- {
- let cloned = new OV.Triangle (this.v0, this.v1, this.v2);
- cloned.SetNormals (this.n0, this.n1, this.n2);
- cloned.SetTextureUVs (this.u0, this.u1, this.u2);
- cloned.SetMaterial (this.mat);
- cloned.SetCurve (this.curve);
- return cloned;
- }
+ Clone ()
+ {
+ let cloned = new OV.Triangle (this.v0, this.v1, this.v2);
+ cloned.SetNormals (this.n0, this.n1, this.n2);
+ cloned.SetTextureUVs (this.u0, this.u1, this.u2);
+ cloned.SetMaterial (this.mat);
+ cloned.SetCurve (this.curve);
+ return cloned;
+ }
};
diff --git a/source/model/modelfinalization.js b/source/model/modelfinalization.js
index 52ee632..1fe0cde 100644
--- a/source/model/modelfinalization.js
+++ b/source/model/modelfinalization.js
@@ -1,7 +1,7 @@
OV.FinalizeModel = function (model, getDefaultMaterial)
{
- function FinalizeMesh (mesh, getDefaultMaterialIndex)
- {
+ function FinalizeMesh (mesh, getDefaultMaterialIndex)
+ {
function CalculateCurveNormals (mesh)
{
function AddAverageNormal (mesh, triangle, vertexIndex, triangleNormals, vertexToTriangles)
@@ -54,9 +54,9 @@ OV.FinalizeModel = function (model, getDefaultMaterial)
}
}
- function FinalizeTriangle (mesh, triangle, status)
- {
- if (!triangle.HasNormals ()) {
+ function FinalizeTriangle (mesh, triangle, status)
+ {
+ if (!triangle.HasNormals ()) {
if (triangle.curve === null || triangle.curve === 0) {
let v0 = mesh.GetVertex (triangle.v0);
let v1 = mesh.GetVertex (triangle.v1);
@@ -67,29 +67,29 @@ OV.FinalizeModel = function (model, getDefaultMaterial)
} else {
status.calculateCurveNormals = true;
}
- }
+ }
if (triangle.mat === null) {
triangle.mat = status.getDefaultMaterialIndex ();
}
if (triangle.curve === null) {
triangle.curve = 0;
}
- }
-
+ }
+
let status = {
getDefaultMaterialIndex : getDefaultMaterialIndex,
calculateCurveNormals : false
};
- for (let i = 0; i < mesh.TriangleCount (); i++) {
- let triangle = mesh.GetTriangle (i);
- FinalizeTriangle (mesh, triangle, status);
- }
+ for (let i = 0; i < mesh.TriangleCount (); i++) {
+ let triangle = mesh.GetTriangle (i);
+ FinalizeTriangle (mesh, triangle, status);
+ }
if (status.calculateCurveNormals) {
CalculateCurveNormals (mesh);
}
- }
+ }
let defaultMaterialIndex = null;
let getDefaultMaterialIndex = function () {
@@ -143,9 +143,9 @@ OV.CheckModel = function (model)
}
function CheckMesh (model, mesh)
- {
+ {
function CheckTriangle (model, mesh, triangle)
- {
+ {
if (!IsCorrectIndex (triangle.v0, mesh.VertexCount ())) {
return false;
}
@@ -183,53 +183,53 @@ OV.CheckModel = function (model)
}
return true;
- }
-
- for (let i = 0; i < mesh.VertexCount (); i++) {
- let vertex = mesh.GetVertex (i);
- if (!IsCorrectNumber (vertex.x)) {
+ }
+
+ for (let i = 0; i < mesh.VertexCount (); i++) {
+ let vertex = mesh.GetVertex (i);
+ if (!IsCorrectNumber (vertex.x)) {
return false;
}
- if (!IsCorrectNumber (vertex.y)) {
+ if (!IsCorrectNumber (vertex.y)) {
return false;
}
- if (!IsCorrectNumber (vertex.z)) {
+ if (!IsCorrectNumber (vertex.z)) {
return false;
}
- }
+ }
- for (let i = 0; i < mesh.NormalCount (); i++) {
- let normal = mesh.GetNormal (i);
- if (!IsCorrectNumber (normal.x)) {
+ for (let i = 0; i < mesh.NormalCount (); i++) {
+ let normal = mesh.GetNormal (i);
+ if (!IsCorrectNumber (normal.x)) {
return false;
}
- if (!IsCorrectNumber (normal.y)) {
+ if (!IsCorrectNumber (normal.y)) {
return false;
}
- if (!IsCorrectNumber (normal.z)) {
+ if (!IsCorrectNumber (normal.z)) {
return false;
}
- }
+ }
- for (let i = 0; i < mesh.TextureUVCount (); i++) {
- let uv = mesh.GetTextureUV (i);
- if (!IsCorrectNumber (uv.x)) {
+ for (let i = 0; i < mesh.TextureUVCount (); i++) {
+ let uv = mesh.GetTextureUV (i);
+ if (!IsCorrectNumber (uv.x)) {
return false;
}
- if (!IsCorrectNumber (uv.y)) {
+ if (!IsCorrectNumber (uv.y)) {
return false;
}
- }
+ }
for (let i = 0; i < mesh.TriangleCount (); i++) {
- let triangle = mesh.GetTriangle (i);
- if (!CheckTriangle (model, mesh, triangle)) {
+ let triangle = mesh.GetTriangle (i);
+ if (!CheckTriangle (model, mesh, triangle)) {
return false;
}
- }
+ }
return true;
- }
+ }
for (let i = 0; i < model.MeshCount (); i++) {
let mesh = model.GetMesh (i);
diff --git a/source/model/modelutils.js b/source/model/modelutils.js
index e2f5df3..9e6a137 100644
--- a/source/model/modelutils.js
+++ b/source/model/modelutils.js
@@ -1,16 +1,16 @@
OV.CalculateTriangleNormal = function (v0, v1, v2)
{
- let v = OV.SubCoord3D (v1, v0);
- let w = OV.SubCoord3D (v2, v0);
-
- let normal = new OV.Coord3D (
- v.y * w.z - v.z * w.y,
- v.z * w.x - v.x * w.z,
- v.x * w.y - v.y * w.x
- );
+ let v = OV.SubCoord3D (v1, v0);
+ let w = OV.SubCoord3D (v2, v0);
+
+ let normal = new OV.Coord3D (
+ v.y * w.z - v.z * w.y,
+ v.z * w.x - v.x * w.z,
+ v.x * w.y - v.y * w.x
+ );
- normal.Normalize ();
- return normal;
+ normal.Normalize ();
+ return normal;
};
OV.TransformMesh = function (mesh, transformation)
@@ -43,20 +43,20 @@ OV.TransformMesh = function (mesh, transformation)
OV.GetMeshBoundingBox = function (mesh)
{
- let min = new OV.Coord3D (Infinity, Infinity, Infinity);
- let max = new OV.Coord3D (-Infinity, -Infinity, -Infinity);
+ let min = new OV.Coord3D (Infinity, Infinity, Infinity);
+ let max = new OV.Coord3D (-Infinity, -Infinity, -Infinity);
for (let i = 0; i < mesh.VertexCount (); i++) {
let vertex = mesh.GetVertex (i);
- min.x = Math.min (min.x, vertex.x);
- min.y = Math.min (min.y, vertex.y);
- min.z = Math.min (min.z, vertex.z);
- max.x = Math.max (max.x, vertex.x);
- max.y = Math.max (max.y, vertex.y);
- max.z = Math.max (max.z, vertex.z);
- }
-
- return [min, max];
+ min.x = Math.min (min.x, vertex.x);
+ min.y = Math.min (min.y, vertex.y);
+ min.z = Math.min (min.z, vertex.z);
+ max.x = Math.max (max.x, vertex.x);
+ max.y = Math.max (max.y, vertex.y);
+ max.z = Math.max (max.z, vertex.z);
+ }
+
+ return [min, max];
};
OV.IsModelEmpty = function (model)
diff --git a/source/viewer/domviewer.js b/source/viewer/domviewer.js
index fa1a557..71adffe 100644
--- a/source/viewer/domviewer.js
+++ b/source/viewer/domviewer.js
@@ -37,7 +37,7 @@ OV.Init3DViewerElements = function ()
return true;
});
viewer.AdjustClippingPlanes (boundingSphere);
- viewer.FitToWindow (boundingSphere, false);
+ viewer.FitToWindow (boundingSphere, false);
},
onTextureLoaded : function () {
viewer.Render ();
diff --git a/source/viewer/navigation.js b/source/viewer/navigation.js
index de51edf..5e0167f 100644
--- a/source/viewer/navigation.js
+++ b/source/viewer/navigation.js
@@ -1,56 +1,56 @@
OV.GetClientCoordinates = function (canvas, clientX, clientY)
{
- if (canvas.getBoundingClientRect) {
- let clientRect = canvas.getBoundingClientRect ();
- clientX -= clientRect.left;
- clientY -= clientRect.top;
- }
- if (window.pageXOffset && window.pageYOffset) {
- clientX += window.pageXOffset;
- clientY += window.pageYOffset;
- }
- return (new OV.Coord2D (clientX, clientY));
+ if (canvas.getBoundingClientRect) {
+ let clientRect = canvas.getBoundingClientRect ();
+ clientX -= clientRect.left;
+ clientY -= clientRect.top;
+ }
+ if (window.pageXOffset && window.pageYOffset) {
+ clientX += window.pageXOffset;
+ clientY += window.pageYOffset;
+ }
+ return (new OV.Coord2D (clientX, clientY));
};
OV.Camera = class
{
- constructor (eye, center, up)
- {
- this.eye = eye;
- this.center = center;
- this.up = up;
- }
+ constructor (eye, center, up)
+ {
+ this.eye = eye;
+ this.center = center;
+ this.up = up;
+ }
- Clone ()
- {
- return new OV.Camera (
- this.eye.Clone (),
- this.center.Clone (),
- this.up.Clone ()
- );
- }
+ Clone ()
+ {
+ return new OV.Camera (
+ this.eye.Clone (),
+ this.center.Clone (),
+ this.up.Clone ()
+ );
+ }
};
OV.MouseInteraction = class
{
- constructor ()
- {
- this.prev = new OV.Coord2D (0.0, 0.0);
- this.curr = new OV.Coord2D (0.0, 0,0);
- this.diff = new OV.Coord2D (0.0, 0.0);
- this.buttons = [];
- }
+ constructor ()
+ {
+ this.prev = new OV.Coord2D (0.0, 0.0);
+ this.curr = new OV.Coord2D (0.0, 0,0);
+ this.diff = new OV.Coord2D (0.0, 0.0);
+ this.buttons = [];
+ }
- Down (canvas, ev)
- {
- this.buttons.push (ev.which);
- this.curr = this.GetCurrent (canvas, ev);
- this.prev = this.curr.Clone ();
- }
+ Down (canvas, ev)
+ {
+ this.buttons.push (ev.which);
+ this.curr = this.GetCurrent (canvas, ev);
+ this.prev = this.curr.Clone ();
+ }
- Move (canvas, ev)
- {
- this.curr = this.GetCurrent (canvas, ev);
+ Move (canvas, ev)
+ {
+ this.curr = this.GetCurrent (canvas, ev);
this.diff = OV.SubCoord2D (this.curr, this.prev);
this.prev = this.curr.Clone ();
}
diff --git a/source/viewer/viewer.js b/source/viewer/viewer.js
index d5ccd79..6be3c01 100644
--- a/source/viewer/viewer.js
+++ b/source/viewer/viewer.js
@@ -1,399 +1,399 @@
OV.GetDefaultCamera = function (direction)
{
- if (direction === OV.Direction.X) {
- return new OV.Camera (
- new OV.Coord3D (2.0, -3.0, 1.5),
- new OV.Coord3D (0.0, 0.0, 0.0),
- new OV.Coord3D (1.0, 0.0, 0.0)
- );
- } else if (direction === OV.Direction.Y) {
- return new OV.Camera (
- new OV.Coord3D (-1.5, 2.0, 3.0),
- new OV.Coord3D (0.0, 0.0, 0.0),
- new OV.Coord3D (0.0, 1.0, 0.0)
- );
- } else if (direction === OV.Direction.Z) {
- return new OV.Camera (
- new OV.Coord3D (-1.5, -3.0, 2.0),
- new OV.Coord3D (0.0, 0.0, 0.0),
- new OV.Coord3D (0.0, 0.0, 1.0)
- );
- }
- return null;
+ if (direction === OV.Direction.X) {
+ return new OV.Camera (
+ new OV.Coord3D (2.0, -3.0, 1.5),
+ new OV.Coord3D (0.0, 0.0, 0.0),
+ new OV.Coord3D (1.0, 0.0, 0.0)
+ );
+ } else if (direction === OV.Direction.Y) {
+ return new OV.Camera (
+ new OV.Coord3D (-1.5, 2.0, 3.0),
+ new OV.Coord3D (0.0, 0.0, 0.0),
+ new OV.Coord3D (0.0, 1.0, 0.0)
+ );
+ } else if (direction === OV.Direction.Z) {
+ return new OV.Camera (
+ new OV.Coord3D (-1.5, -3.0, 2.0),
+ new OV.Coord3D (0.0, 0.0, 0.0),
+ new OV.Coord3D (0.0, 0.0, 1.0)
+ );
+ }
+ return null;
};
OV.UpVector = class
{
- constructor ()
- {
- this.direction = OV.Direction.Z;
- this.isFixed = true;
- this.isFlipped = false;
- }
+ constructor ()
+ {
+ this.direction = OV.Direction.Z;
+ this.isFixed = true;
+ this.isFlipped = false;
+ }
- SetDirection (newDirection, oldCamera)
- {
- this.direction = newDirection;
- this.isFlipped = false;
+ SetDirection (newDirection, oldCamera)
+ {
+ this.direction = newDirection;
+ this.isFlipped = false;
- let defaultCamera = OV.GetDefaultCamera (this.direction);
- let defaultDir = OV.SubCoord3D (defaultCamera.eye, defaultCamera.center);
+ let defaultCamera = OV.GetDefaultCamera (this.direction);
+ let defaultDir = OV.SubCoord3D (defaultCamera.eye, defaultCamera.center);
- let distance = OV.CoordDistance3D (oldCamera.center, oldCamera.eye);
- let newEye = oldCamera.center.Clone ().Offset (defaultDir, distance);
+ let distance = OV.CoordDistance3D (oldCamera.center, oldCamera.eye);
+ let newEye = oldCamera.center.Clone ().Offset (defaultDir, distance);
- let newCamera = oldCamera.Clone ();
- if (this.direction === OV.Direction.Y) {
- newCamera.up = new OV.Coord3D (0.0, 1.0, 0.0);
- newCamera.eye = newEye;
- } else if (this.direction === OV.Direction.Z) {
- newCamera.up = new OV.Coord3D (0.0, 0.0, 1.0);
- newCamera.eye = newEye;
- }
- return newCamera;
- }
+ let newCamera = oldCamera.Clone ();
+ if (this.direction === OV.Direction.Y) {
+ newCamera.up = new OV.Coord3D (0.0, 1.0, 0.0);
+ newCamera.eye = newEye;
+ } else if (this.direction === OV.Direction.Z) {
+ newCamera.up = new OV.Coord3D (0.0, 0.0, 1.0);
+ newCamera.eye = newEye;
+ }
+ return newCamera;
+ }
- SetFixed (isFixed, oldCamera)
- {
- this.isFixed = isFixed;
- if (this.isFixed) {
- return this.SetDirection (this.direction, oldCamera);
- }
- return null;
- }
+ SetFixed (isFixed, oldCamera)
+ {
+ this.isFixed = isFixed;
+ if (this.isFixed) {
+ return this.SetDirection (this.direction, oldCamera);
+ }
+ return null;
+ }
- Flip (oldCamera)
- {
- this.isFlipped = !this.isFlipped;
- let newCamera = oldCamera.Clone ();
- newCamera.up.MultiplyScalar (-1.0);
- return newCamera;
- }
+ Flip (oldCamera)
+ {
+ this.isFlipped = !this.isFlipped;
+ let newCamera = oldCamera.Clone ();
+ newCamera.up.MultiplyScalar (-1.0);
+ return newCamera;
+ }
};
OV.Viewer = class
{
- constructor ()
- {
- this.canvas = null;
- this.renderer = null;
- this.scene = null;
- this.camera = null;
- this.light = null;
- this.navigation = null;
- this.upVector = null;
- this.settings = {
- animationSteps : 40
- };
- }
-
- Init (canvas)
- {
- this.canvas = canvas;
- this.canvas.id = 'viewer';
- this.canvas.addEventListener ('contenxtmenu', function (ev) {
- ev.preventDefault ();
- });
+ constructor ()
+ {
+ this.canvas = null;
+ this.renderer = null;
+ this.scene = null;
+ this.camera = null;
+ this.light = null;
+ this.navigation = null;
+ this.upVector = null;
+ this.settings = {
+ animationSteps : 40
+ };
+ }
+
+ Init (canvas)
+ {
+ this.canvas = canvas;
+ this.canvas.id = 'viewer';
+ this.canvas.addEventListener ('contenxtmenu', function (ev) {
+ ev.preventDefault ();
+ });
- let parameters = {
- canvas : this.canvas,
- antialias : true
- };
-
- this.renderer = new THREE.WebGLRenderer (parameters);
- this.renderer.setClearColor ('#ffffff', 1.0);
- this.renderer.setSize (this.canvas.width, this.canvas.height);
-
- this.scene = new THREE.Scene ();
+ let parameters = {
+ canvas : this.canvas,
+ antialias : true
+ };
+
+ this.renderer = new THREE.WebGLRenderer (parameters);
+ this.renderer.setClearColor ('#ffffff', 1.0);
+ this.renderer.setSize (this.canvas.width, this.canvas.height);
+
+ this.scene = new THREE.Scene ();
- this.InitCamera ();
- this.InitLights ();
+ this.InitCamera ();
+ this.InitLights ();
- this.Render ();
- }
+ this.Render ();
+ }
- SetClickHandler (onClick)
- {
- this.navigation.SetClickHandler (onClick);
- }
+ SetClickHandler (onClick)
+ {
+ this.navigation.SetClickHandler (onClick);
+ }
- GetCamera ()
- {
- return this.navigation.GetCamera ();
- }
-
- SetCamera (camera)
- {
- this.navigation.SetCamera (camera);
- this.Render ();
- }
+ GetCamera ()
+ {
+ return this.navigation.GetCamera ();
+ }
+
+ SetCamera (camera)
+ {
+ this.navigation.SetCamera (camera);
+ this.Render ();
+ }
- Resize (width, height)
- {
- let innerSize = OV.GetInnerDimensions (this.canvas, width, height);
- this.ResizeRenderer (innerSize.width, innerSize.height);
- }
+ Resize (width, height)
+ {
+ let innerSize = OV.GetInnerDimensions (this.canvas, width, height);
+ this.ResizeRenderer (innerSize.width, innerSize.height);
+ }
- ResizeRenderer (width, height)
- {
- this.camera.aspect = width / height;
- this.camera.updateProjectionMatrix ();
- this.renderer.setSize (width, height);
- this.Render ();
- }
+ ResizeRenderer (width, height)
+ {
+ this.camera.aspect = width / height;
+ this.camera.updateProjectionMatrix ();
+ this.renderer.setSize (width, height);
+ this.Render ();
+ }
- FitToWindow (boundingSphere, animation)
- {
- if (boundingSphere === null) {
- return;
- }
- let center = new OV.Coord3D (boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z);
- let radius = boundingSphere.radius;
- let fov = this.camera.fov;
- if (animation) {
- let newCamera = this.navigation.GetFitToSphereCamera (center, radius, fov);
- this.navigation.MoveCamera (newCamera, this.settings.animationSteps);
- } else {
- this.navigation.FitToSphere (center, radius, fov);
- }
- }
+ FitToWindow (boundingSphere, animation)
+ {
+ if (boundingSphere === null) {
+ return;
+ }
+ let center = new OV.Coord3D (boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z);
+ let radius = boundingSphere.radius;
+ let fov = this.camera.fov;
+ if (animation) {
+ let newCamera = this.navigation.GetFitToSphereCamera (center, radius, fov);
+ this.navigation.MoveCamera (newCamera, this.settings.animationSteps);
+ } else {
+ this.navigation.FitToSphere (center, radius, fov);
+ }
+ }
- AdjustClippingPlanes (boundingSphere)
- {
- if (boundingSphere === null) {
- return;
- }
- if (boundingSphere.radius < 10.0) {
- this.camera.near = 0.01;
- this.camera.far = 100.0;
- } else if (boundingSphere.radius < 100.0) {
- this.camera.near = 0.1;
- this.camera.far = 1000.0;
- } else if (boundingSphere.radius < 1000.0) {
- this.camera.near = 10.0;
- this.camera.far = 10000.0;
- } else {
- this.camera.near = 100.0;
- this.camera.far = 1000000.0;
- }
- this.camera.updateProjectionMatrix ();
- this.Render ();
- }
+ AdjustClippingPlanes (boundingSphere)
+ {
+ if (boundingSphere === null) {
+ return;
+ }
+ if (boundingSphere.radius < 10.0) {
+ this.camera.near = 0.01;
+ this.camera.far = 100.0;
+ } else if (boundingSphere.radius < 100.0) {
+ this.camera.near = 0.1;
+ this.camera.far = 1000.0;
+ } else if (boundingSphere.radius < 1000.0) {
+ this.camera.near = 10.0;
+ this.camera.far = 10000.0;
+ } else {
+ this.camera.near = 100.0;
+ this.camera.far = 1000000.0;
+ }
+ this.camera.updateProjectionMatrix ();
+ this.Render ();
+ }
- IsFixUpVector ()
- {
- return this.navigation.IsFixUpVector ();
- }
+ IsFixUpVector ()
+ {
+ return this.navigation.IsFixUpVector ();
+ }
- SetFixUpVector (fixUpVector)
- {
- let oldCamera = this.navigation.GetCamera ();
- let newCamera = this.upVector.SetFixed (fixUpVector, oldCamera);
- this.navigation.SetFixUpVector (fixUpVector);
- if (newCamera !== null) {
- this.navigation.MoveCamera (newCamera, this.settings.animationSteps);
- }
- this.Render ();
- }
+ SetFixUpVector (fixUpVector)
+ {
+ let oldCamera = this.navigation.GetCamera ();
+ let newCamera = this.upVector.SetFixed (fixUpVector, oldCamera);
+ this.navigation.SetFixUpVector (fixUpVector);
+ if (newCamera !== null) {
+ this.navigation.MoveCamera (newCamera, this.settings.animationSteps);
+ }
+ this.Render ();
+ }
- SetUpVector (upDirection, animate)
- {
- let oldCamera = this.navigation.GetCamera ();
- let newCamera = this.upVector.SetDirection (upDirection, oldCamera);
- let animationSteps = animate ? this.settings.animationSteps : 0;
- this.navigation.MoveCamera (newCamera, animationSteps);
- this.Render ();
- }
+ SetUpVector (upDirection, animate)
+ {
+ let oldCamera = this.navigation.GetCamera ();
+ let newCamera = this.upVector.SetDirection (upDirection, oldCamera);
+ let animationSteps = animate ? this.settings.animationSteps : 0;
+ this.navigation.MoveCamera (newCamera, animationSteps);
+ this.Render ();
+ }
- FlipUpVector ()
- {
- let oldCamera = this.navigation.GetCamera ();
- let newCamera = this.upVector.Flip (oldCamera);
- this.navigation.MoveCamera (newCamera, 0);
- this.Render ();
- }
+ FlipUpVector ()
+ {
+ let oldCamera = this.navigation.GetCamera ();
+ let newCamera = this.upVector.Flip (oldCamera);
+ this.navigation.MoveCamera (newCamera, 0);
+ this.Render ();
+ }
- Render ()
- {
- let navigationCamera = this.navigation.GetCamera ();
- this.camera.position.set (navigationCamera.eye.x, navigationCamera.eye.y, navigationCamera.eye.z);
- this.camera.up.set (navigationCamera.up.x, navigationCamera.up.y, navigationCamera.up.z);
- this.camera.lookAt (new THREE.Vector3 (navigationCamera.center.x, navigationCamera.center.y, navigationCamera.center.z));
-
- let lightDir = OV.SubCoord3D (navigationCamera.eye, navigationCamera.center);
- this.light.position.set (lightDir.x, lightDir.y, lightDir.z);
- this.renderer.render (this.scene, this.camera);
- }
+ Render ()
+ {
+ let navigationCamera = this.navigation.GetCamera ();
+ this.camera.position.set (navigationCamera.eye.x, navigationCamera.eye.y, navigationCamera.eye.z);
+ this.camera.up.set (navigationCamera.up.x, navigationCamera.up.y, navigationCamera.up.z);
+ this.camera.lookAt (new THREE.Vector3 (navigationCamera.center.x, navigationCamera.center.y, navigationCamera.center.z));
+
+ let lightDir = OV.SubCoord3D (navigationCamera.eye, navigationCamera.center);
+ this.light.position.set (lightDir.x, lightDir.y, lightDir.z);
+ this.renderer.render (this.scene, this.camera);
+ }
- AddMeshes (meshes)
- {
- for (let i = 0; i < meshes.length; i++) {
- let mesh = meshes[i];
- this.scene.add (mesh);
- }
- this.Render ();
- }
+ AddMeshes (meshes)
+ {
+ for (let i = 0; i < meshes.length; i++) {
+ let mesh = meshes[i];
+ this.scene.add (mesh);
+ }
+ this.Render ();
+ }
- Clear ()
- {
- this.ClearMeshes ();
- this.Render ();
- }
+ Clear ()
+ {
+ this.ClearMeshes ();
+ this.Render ();
+ }
- SetMeshesVisibility (isVisible)
- {
- this.EnumerateMeshes (function (mesh) {
- let visible = isVisible (mesh.userData);
- if (mesh.visible !== visible) {
- mesh.visible = visible;
- }
- });
- this.Render ();
- }
+ SetMeshesVisibility (isVisible)
+ {
+ this.EnumerateMeshes (function (mesh) {
+ let visible = isVisible (mesh.userData);
+ if (mesh.visible !== visible) {
+ mesh.visible = visible;
+ }
+ });
+ this.Render ();
+ }
- SetMeshesHighlight (highlightMaterial, isHighlighted)
- {
- function CreateHighlightMaterials (originalMaterials, highlightMaterial)
- {
- let highlightMaterials = [];
- for (let i = 0; i < originalMaterials.length; i++) {
- highlightMaterials.push (highlightMaterial);
- }
- return highlightMaterials;
- }
+ SetMeshesHighlight (highlightMaterial, isHighlighted)
+ {
+ function CreateHighlightMaterials (originalMaterials, highlightMaterial)
+ {
+ let highlightMaterials = [];
+ for (let i = 0; i < originalMaterials.length; i++) {
+ highlightMaterials.push (highlightMaterial);
+ }
+ return highlightMaterials;
+ }
- this.EnumerateMeshes (function (mesh) {
- let highlighted = isHighlighted (mesh.userData);
- if (highlighted) {
- if (mesh.userData.threeMaterials === null) {
- mesh.userData.threeMaterials = mesh.material;
- mesh.material = CreateHighlightMaterials (mesh.material, highlightMaterial);
- }
- } else {
- if (mesh.userData.threeMaterials !== null) {
- mesh.material = mesh.userData.threeMaterials;
- mesh.userData.threeMaterials = null;
- }
- }
- });
- this.Render ();
- }
+ this.EnumerateMeshes (function (mesh) {
+ let highlighted = isHighlighted (mesh.userData);
+ if (highlighted) {
+ if (mesh.userData.threeMaterials === null) {
+ mesh.userData.threeMaterials = mesh.material;
+ mesh.material = CreateHighlightMaterials (mesh.material, highlightMaterial);
+ }
+ } else {
+ if (mesh.userData.threeMaterials !== null) {
+ mesh.material = mesh.userData.threeMaterials;
+ mesh.userData.threeMaterials = null;
+ }
+ }
+ });
+ this.Render ();
+ }
- GetMeshUnderMouse (mouseCoords)
- {
- let raycaster = new THREE.Raycaster ();
- let mousePos = new THREE.Vector2 ();
- mousePos.x = (mouseCoords.x / this.canvas.width) * 2 - 1;
- mousePos.y = -(mouseCoords.y / this.canvas.height) * 2 + 1;
- raycaster.setFromCamera (mousePos, this.camera);
- let iSectObjects = raycaster.intersectObjects (this.scene.children);
- for (let i = 0; i < iSectObjects.length; i++) {
- let iSectObject = iSectObjects[i];
- if (iSectObject.object.type === 'Mesh' && iSectObject.object.visible) {
- return iSectObject.object.userData;
- }
- }
- return null;
- }
+ GetMeshUnderMouse (mouseCoords)
+ {
+ let raycaster = new THREE.Raycaster ();
+ let mousePos = new THREE.Vector2 ();
+ mousePos.x = (mouseCoords.x / this.canvas.width) * 2 - 1;
+ mousePos.y = -(mouseCoords.y / this.canvas.height) * 2 + 1;
+ raycaster.setFromCamera (mousePos, this.camera);
+ let iSectObjects = raycaster.intersectObjects (this.scene.children);
+ for (let i = 0; i < iSectObjects.length; i++) {
+ let iSectObject = iSectObjects[i];
+ if (iSectObject.object.type === 'Mesh' && iSectObject.object.visible) {
+ return iSectObject.object.userData;
+ }
+ }
+ return null;
+ }
- GetBoundingBox (needToProcess)
- {
- let hasMesh = false;
- let boundingBox = new THREE.Box3 ();
- this.EnumerateMeshes (function (mesh) {
- if (needToProcess (mesh.userData)) {
- boundingBox.union (new THREE.Box3 ().setFromObject (mesh));
- hasMesh = true;
- }
- });
+ GetBoundingBox (needToProcess)
+ {
+ let hasMesh = false;
+ let boundingBox = new THREE.Box3 ();
+ this.EnumerateMeshes (function (mesh) {
+ if (needToProcess (mesh.userData)) {
+ boundingBox.union (new THREE.Box3 ().setFromObject (mesh));
+ hasMesh = true;
+ }
+ });
- if (!hasMesh) {
- return null;
- }
- return boundingBox;
- }
+ if (!hasMesh) {
+ return null;
+ }
+ return boundingBox;
+ }
- GetBoundingSphere (needToProcess)
- {
- let boundingBox = this.GetBoundingBox (needToProcess);
- if (boundingBox === null) {
- return null;
- }
+ GetBoundingSphere (needToProcess)
+ {
+ let boundingBox = this.GetBoundingBox (needToProcess);
+ if (boundingBox === null) {
+ return null;
+ }
- let boundingSphere = new THREE.Sphere ();
- boundingBox.getBoundingSphere (boundingSphere);
- return boundingSphere;
- }
+ let boundingSphere = new THREE.Sphere ();
+ boundingBox.getBoundingSphere (boundingSphere);
+ return boundingSphere;
+ }
- EnumerateMeshesUserData (enumerator)
- {
- this.EnumerateMeshes (function (mesh) {
- enumerator (mesh.userData);
- });
- }
+ EnumerateMeshesUserData (enumerator)
+ {
+ this.EnumerateMeshes (function (mesh) {
+ enumerator (mesh.userData);
+ });
+ }
- EnumerateMeshes (enumerator)
- {
- this.scene.traverse (function (object) {
- if (object.isMesh) {
- enumerator (object);
- }
- });
- }
+ EnumerateMeshes (enumerator)
+ {
+ this.scene.traverse (function (object) {
+ if (object.isMesh) {
+ enumerator (object);
+ }
+ });
+ }
- ClearMeshes ()
- {
- for (let i = this.scene.children.length - 1; i >= 0; i--) {
- let object = this.scene.children[i];
- if (object.isMesh) {
- object.geometry.dispose ();
- this.scene.remove (object);
- }
- }
- }
+ ClearMeshes ()
+ {
+ for (let i = this.scene.children.length - 1; i >= 0; i--) {
+ let object = this.scene.children[i];
+ if (object.isMesh) {
+ object.geometry.dispose ();
+ this.scene.remove (object);
+ }
+ }
+ }
- InitCamera ()
- {
- this.camera = new THREE.PerspectiveCamera (45.0, this.canvas.width / this.canvas.height, 0.1, 1000.0);
- this.scene.add (this.camera);
+ InitCamera ()
+ {
+ this.camera = new THREE.PerspectiveCamera (45.0, this.canvas.width / this.canvas.height, 0.1, 1000.0);
+ this.scene.add (this.camera);
- let canvasElem = this.renderer.domElement;
- let camera = OV.GetDefaultCamera (OV.Direction.Z);
+ let canvasElem = this.renderer.domElement;
+ let camera = OV.GetDefaultCamera (OV.Direction.Z);
- let obj = this;
- this.navigation = new OV.Navigation (canvasElem, camera);
- this.navigation.SetUpdateHandler (function () {
- obj.Render ();
- });
+ let obj = this;
+ this.navigation = new OV.Navigation (canvasElem, camera);
+ this.navigation.SetUpdateHandler (function () {
+ obj.Render ();
+ });
- this.upVector = new OV.UpVector ();
- }
+ this.upVector = new OV.UpVector ();
+ }
- InitLights ()
- {
- let ambientLight = new THREE.AmbientLight (0x888888);
- this.scene.add (ambientLight);
-
- this.light = new THREE.DirectionalLight (0x888888);
- this.scene.add (this.light);
- }
+ InitLights ()
+ {
+ let ambientLight = new THREE.AmbientLight (0x888888);
+ this.scene.add (ambientLight);
+
+ this.light = new THREE.DirectionalLight (0x888888);
+ this.scene.add (this.light);
+ }
- GetImageAsDataUrl (width, height)
- {
- let originalSize = null;
- if (width && height) {
- originalSize = new THREE.Vector2 ();
- this.renderer.getSize (originalSize);
- this.ResizeRenderer (width, height);
- }
- this.Render ();
- let url = this.renderer.domElement.toDataURL();
- if (originalSize !== null) {
- this.ResizeRenderer (
- parseInt (originalSize.x, 10),
- parseInt (originalSize.y, 10)
- );
- }
- return url;
- }
+ GetImageAsDataUrl (width, height)
+ {
+ let originalSize = null;
+ if (width && height) {
+ originalSize = new THREE.Vector2 ();
+ this.renderer.getSize (originalSize);
+ this.ResizeRenderer (width, height);
+ }
+ this.Render ();
+ let url = this.renderer.domElement.toDataURL();
+ if (originalSize !== null) {
+ this.ResizeRenderer (
+ parseInt (originalSize.x, 10),
+ parseInt (originalSize.y, 10)
+ );
+ }
+ return url;
+ }
};
diff --git a/test/test.js b/test/test.js
index 5ef2ef2..0a6326a 100644
--- a/test/test.js
+++ b/test/test.js
@@ -7,8 +7,8 @@ var testDirName = './tests/';
var files = fs.readdirSync (testDirName, { withFileTypes: true });
var i, file;
for (i = 0; i < files.length; i++) {
- file = files[i];
- if (file.isFile ()) {
- require (testDirName + file.name);
- }
+ file = files[i];
+ if (file.isFile ()) {
+ require (testDirName + file.name);
+ }
}
diff --git a/test/tests/exporter_test.js b/test/tests/exporter_test.js
index b3d248d..83f1702 100644
--- a/test/tests/exporter_test.js
+++ b/test/tests/exporter_test.js
@@ -178,7 +178,7 @@ describe ('Exporter', function () {
'endsolid Model',
''
].join ('\n'));
- });
+ });
it ('Stl Binary Export', function () {
let model = CreateTestModel ();
@@ -201,7 +201,7 @@ describe ('Exporter', function () {
let importedModel = importer.GetModel ();
assert.strictEqual (importedModel.VertexCount (), 12);
assert.strictEqual (importedModel.TriangleCount (), 4);
- });
+ });
it ('Off Export', function () {
let model = CreateTestModel ();
diff --git a/test/tests/fileutils_test.js b/test/tests/fileutils_test.js
index bc61a95..7cc5aa0 100644
--- a/test/tests/fileutils_test.js
+++ b/test/tests/fileutils_test.js
@@ -2,40 +2,40 @@ var assert = require ('assert');
function GetLines (str)
{
- var lines = [];
- OV.ReadLines (str, function (line) {
- lines.push (line);
- });
- return lines;
+ var lines = [];
+ OV.ReadLines (str, function (line) {
+ lines.push (line);
+ });
+ return lines;
}
describe ('File Utils', function () {
- it ('Get File Extension', function () {
- assert.strictEqual (OV.GetFileExtension ('file'), '');
- assert.strictEqual (OV.GetFileExtension ('file.obj'), 'obj');
- assert.strictEqual (OV.GetFileExtension ('file.OBJ'), 'OBJ');
- });
-
- it ('Get File Name', function () {
- assert.strictEqual (OV.GetFileName ('file'), 'file');
- assert.strictEqual (OV.GetFileName ('file.obj'), 'file.obj');
- assert.strictEqual (OV.GetFileName ('file.OBJ'), 'file.OBJ');
- assert.strictEqual (OV.GetFileName ('folder/file'), 'file');
- assert.strictEqual (OV.GetFileName ('folder/file.obj'), 'file.obj');
- assert.strictEqual (OV.GetFileName ('folder/file.OBJ'), 'file.OBJ');
- assert.strictEqual (OV.GetFileName ('folder\\file'), 'file');
- assert.strictEqual (OV.GetFileName ('folder\\file.obj'), 'file.obj');
- assert.strictEqual (OV.GetFileName ('folder\\file.OBJ'), 'file.OBJ');
- });
+ it ('Get File Extension', function () {
+ assert.strictEqual (OV.GetFileExtension ('file'), '');
+ assert.strictEqual (OV.GetFileExtension ('file.obj'), 'obj');
+ assert.strictEqual (OV.GetFileExtension ('file.OBJ'), 'OBJ');
+ });
+
+ it ('Get File Name', function () {
+ assert.strictEqual (OV.GetFileName ('file'), 'file');
+ assert.strictEqual (OV.GetFileName ('file.obj'), 'file.obj');
+ assert.strictEqual (OV.GetFileName ('file.OBJ'), 'file.OBJ');
+ assert.strictEqual (OV.GetFileName ('folder/file'), 'file');
+ assert.strictEqual (OV.GetFileName ('folder/file.obj'), 'file.obj');
+ assert.strictEqual (OV.GetFileName ('folder/file.OBJ'), 'file.OBJ');
+ assert.strictEqual (OV.GetFileName ('folder\\file'), 'file');
+ assert.strictEqual (OV.GetFileName ('folder\\file.obj'), 'file.obj');
+ assert.strictEqual (OV.GetFileName ('folder\\file.OBJ'), 'file.OBJ');
+ });
- it ('Read Lines', function () {
- assert.deepStrictEqual (GetLines (''), []);
- assert.deepStrictEqual (GetLines ('\n'), []);
- assert.deepStrictEqual (GetLines ('\r\n'), []);
- assert.deepStrictEqual (GetLines ('a\nb'), ['a', 'b']);
- assert.deepStrictEqual (GetLines ('apple\nbanana'), ['apple', 'banana']);
- assert.deepStrictEqual (GetLines ('apple\r\nbanana'), ['apple', 'banana']);
- assert.deepStrictEqual (GetLines ('apple\r\n'), ['apple']);
- assert.deepStrictEqual (GetLines ('\r\napple\r\n'), ['apple']);
- });
+ it ('Read Lines', function () {
+ assert.deepStrictEqual (GetLines (''), []);
+ assert.deepStrictEqual (GetLines ('\n'), []);
+ assert.deepStrictEqual (GetLines ('\r\n'), []);
+ assert.deepStrictEqual (GetLines ('a\nb'), ['a', 'b']);
+ assert.deepStrictEqual (GetLines ('apple\nbanana'), ['apple', 'banana']);
+ assert.deepStrictEqual (GetLines ('apple\r\nbanana'), ['apple', 'banana']);
+ assert.deepStrictEqual (GetLines ('apple\r\n'), ['apple']);
+ assert.deepStrictEqual (GetLines ('\r\napple\r\n'), ['apple']);
+ });
});
diff --git a/test/tests/geometry_test.js b/test/tests/geometry_test.js
index ba28433..fe949cb 100644
--- a/test/tests/geometry_test.js
+++ b/test/tests/geometry_test.js
@@ -2,145 +2,145 @@ var assert = require ('assert');
function CreateYRot90Quaternion ()
{
- let angle = Math.PI / 2.0;
- let rotX = 0.0;
- let rotY = 1.0;
- let rotZ = 0.0;
- let quaternion = [
- Math.sin (angle / 2.0) * rotX,
- Math.sin (angle / 2.0) * rotY,
- Math.sin (angle / 2.0) * rotZ,
- Math.cos (angle / 2.0)
- ];
- return quaternion;
+ let angle = Math.PI / 2.0;
+ let rotX = 0.0;
+ let rotY = 1.0;
+ let rotZ = 0.0;
+ let quaternion = [
+ Math.sin (angle / 2.0) * rotX,
+ Math.sin (angle / 2.0) * rotY,
+ Math.sin (angle / 2.0) * rotZ,
+ Math.cos (angle / 2.0)
+ ];
+ return quaternion;
}
describe ('Coord', function () {
- it ('Length', function () {
- var c = new OV.Coord3D (2.0, 0.0, 0.0);
- assert.strictEqual (c.Length (), 2.0);
- });
-
- it ('Multiply Scalar', function () {
- var c = new OV.Coord3D (2.0, 0.0, 0.0);
- c.MultiplyScalar (3.0);
- assert.strictEqual (c.x, 6.0);
- assert.strictEqual (c.y, 0.0);
- assert.strictEqual (c.z, 0.0);
- });
-
- it ('Normalize', function () {
- var c = new OV.Coord3D (2.0, 0.0, 0.0);
- c.Normalize ();
- assert.strictEqual (c.x, 1.0);
- assert.strictEqual (c.y, 0.0);
- assert.strictEqual (c.z, 0.0);
- });
+ it ('Length', function () {
+ var c = new OV.Coord3D (2.0, 0.0, 0.0);
+ assert.strictEqual (c.Length (), 2.0);
+ });
+
+ it ('Multiply Scalar', function () {
+ var c = new OV.Coord3D (2.0, 0.0, 0.0);
+ c.MultiplyScalar (3.0);
+ assert.strictEqual (c.x, 6.0);
+ assert.strictEqual (c.y, 0.0);
+ assert.strictEqual (c.z, 0.0);
+ });
+
+ it ('Normalize', function () {
+ var c = new OV.Coord3D (2.0, 0.0, 0.0);
+ c.Normalize ();
+ assert.strictEqual (c.x, 1.0);
+ assert.strictEqual (c.y, 0.0);
+ assert.strictEqual (c.z, 0.0);
+ });
});
describe ('Triangle', function() {
- it ('Calculate Normal', function () {
- var normal = OV.CalculateTriangleNormal (
- new OV.Coord3D (0.0, 0.0, 0.0),
- new OV.Coord3D (1.0, 0.0, 0.0),
- new OV.Coord3D (1.0, 1.0, 0.0)
- );
- assert.strictEqual (normal.x, 0.0);
- assert.strictEqual (normal.y, 0.0);
- assert.strictEqual (normal.z, 1.0);
- });
+ it ('Calculate Normal', function () {
+ var normal = OV.CalculateTriangleNormal (
+ new OV.Coord3D (0.0, 0.0, 0.0),
+ new OV.Coord3D (1.0, 0.0, 0.0),
+ new OV.Coord3D (1.0, 1.0, 0.0)
+ );
+ assert.strictEqual (normal.x, 0.0);
+ assert.strictEqual (normal.y, 0.0);
+ assert.strictEqual (normal.z, 1.0);
+ });
});
describe ('Transformation', function() {
- it ('Basic Test', function () {
- let rotation = CreateYRot90Quaternion ();
+ it ('Basic Test', function () {
+ let rotation = CreateYRot90Quaternion ();
- let coord = new OV.Coord3D (1.0, 2.0, 3.0);
+ let coord = new OV.Coord3D (1.0, 2.0, 3.0);
- let tr = new OV.Transformation ();
- assert (tr.IsIdentity ());
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (1.0, 2.0, 3.0)));
+ let tr = new OV.Transformation ();
+ assert (tr.IsIdentity ());
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (1.0, 2.0, 3.0)));
- tr.AppendMatrix (new OV.Matrix ().CreateScale (3.0, 4.0, 5.0));
- assert (!tr.IsIdentity ());
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (3.0, 8.0, 15.0)));
+ tr.AppendMatrix (new OV.Matrix ().CreateScale (3.0, 4.0, 5.0));
+ assert (!tr.IsIdentity ());
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (3.0, 8.0, 15.0)));
- tr.AppendMatrix (new OV.Matrix ().CreateRotation (rotation[0], rotation[1], rotation[2], rotation[3]));
- assert (!tr.IsIdentity ());
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (15.0, 8.0, -3.0)));
-
- tr.AppendMatrix (new OV.Matrix ().CreateTranslation (4.0, 5.0, 6.0));
- assert (!tr.IsIdentity ());
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
+ tr.AppendMatrix (new OV.Matrix ().CreateRotation (rotation[0], rotation[1], rotation[2], rotation[3]));
+ assert (!tr.IsIdentity ());
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (15.0, 8.0, -3.0)));
+
+ tr.AppendMatrix (new OV.Matrix ().CreateTranslation (4.0, 5.0, 6.0));
+ assert (!tr.IsIdentity ());
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
- let tr2 = new OV.Transformation ();
- tr2.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
- assert (OV.CoordIsEqual3D (tr2.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
- });
+ let tr2 = new OV.Transformation ();
+ tr2.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
+ assert (OV.CoordIsEqual3D (tr2.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
+ });
- it ('TRS Compose Test', function () {
- let rotation = CreateYRot90Quaternion ();
- let coord = new OV.Coord3D (1.0, 2.0, 3.0);
+ it ('TRS Compose Test', function () {
+ let rotation = CreateYRot90Quaternion ();
+ let coord = new OV.Coord3D (1.0, 2.0, 3.0);
- let tr = new OV.Transformation ();
- tr.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
- });
+ let tr = new OV.Transformation ();
+ tr.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
+ });
- it ('TRS Compose Test', function () {
- let rotation = CreateYRot90Quaternion ();
- let coord = new OV.Coord3D (1.0, 2.0, 3.0);
+ it ('TRS Compose Test', function () {
+ let rotation = CreateYRot90Quaternion ();
+ let coord = new OV.Coord3D (1.0, 2.0, 3.0);
- let tr = new OV.Transformation ();
- tr.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
+ let tr = new OV.Transformation ();
+ tr.SetMatrix (new OV.Matrix ().ComposeTRS ([4.0, 5.0, 6.0], rotation, [3.0, 4.0, 5.0]));
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
- let trs = tr.GetMatrix ().DecomposeTRS ();
- let tr2 = new OV.Transformation ();
- tr2.SetMatrix (new OV.Matrix ().ComposeTRS (trs.translation, trs.rotation, trs.scale));
- assert (OV.CoordIsEqual3D (tr2.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
- });
+ let trs = tr.GetMatrix ().DecomposeTRS ();
+ let tr2 = new OV.Transformation ();
+ tr2.SetMatrix (new OV.Matrix ().ComposeTRS (trs.translation, trs.rotation, trs.scale));
+ assert (OV.CoordIsEqual3D (tr2.TransformCoord3D (coord), new OV.Coord3D (19.0, 13.0, 3.0)));
+ });
- it ('Default Quaternion Test', function () {
- let coord = new OV.Coord3D (1.0, 2.0, 3.0);
+ it ('Default Quaternion Test', function () {
+ let coord = new OV.Coord3D (1.0, 2.0, 3.0);
- let tr = new OV.Transformation ();
- tr.SetMatrix (new OV.Matrix ().CreateRotation (0.0, 0.0, 0.0, 1.0));
- assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), coord));
- });
+ let tr = new OV.Transformation ();
+ tr.SetMatrix (new OV.Matrix ().CreateRotation (0.0, 0.0, 0.0, 1.0));
+ assert (OV.CoordIsEqual3D (tr.TransformCoord3D (coord), coord));
+ });
});
describe ('Tween', function() {
- it ('Linear Tween Function', function () {
- assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 0, 10), 0.0));
- assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 1, 10), 1.0));
- assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 5, 10), 5.0));
- assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 9, 10), 9.0));
- assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 10, 10), 10.0));
- });
+ it ('Linear Tween Function', function () {
+ assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 0, 10), 0.0));
+ assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 1, 10), 1.0));
+ assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 5, 10), 5.0));
+ assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 9, 10), 9.0));
+ assert (OV.IsEqual (OV.LinearTweenFunction (10.0, 10, 10), 10.0));
+ });
- it ('Bezier Tween Function', function () {
- assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 0, 10), 0.0));
- assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 1, 10), 0.28));
- assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 5, 10), 5.0));
- assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 9, 10), 9.72));
- assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 10, 10), 10.0));
- });
+ it ('Bezier Tween Function', function () {
+ assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 0, 10), 0.0));
+ assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 1, 10), 0.28));
+ assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 5, 10), 5.0));
+ assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 9, 10), 9.72));
+ assert (OV.IsEqual (OV.BezierTweenFunction (10.0, 10, 10), 10.0));
+ });
- it ('Parabolic Tween Function', function () {
- assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 0, 10), 0.0));
- assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 5, 10), 5.0));
- assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 10, 10), 10.0));
- });
+ it ('Parabolic Tween Function', function () {
+ assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 0, 10), 0.0));
+ assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 5, 10), 5.0));
+ assert (OV.IsEqual (OV.ParabolicTweenFunction (10.0, 10, 10), 10.0));
+ });
- it ('Linear Tween Coordinates', function () {
- let beg = new OV.Coord3D (0.0, 0.0, 0.0);
- let end = new OV.Coord3D (9.0, 0.0, 0.0);
- let segments = OV.TweenCoord3D (beg, end, 10, OV.LinearTweenFunction);
- assert.strictEqual (segments.length, 10);
- assert (OV.CoordIsEqual3D (segments[0], beg));
- assert (OV.CoordIsEqual3D (segments[1], new OV.Coord3D (1.0, 0.0, 0.0)));
- assert (OV.CoordIsEqual3D (segments[5], new OV.Coord3D (5.0, 0.0, 0.0)));
- assert (OV.CoordIsEqual3D (segments[segments.length - 1], end));
- });
+ it ('Linear Tween Coordinates', function () {
+ let beg = new OV.Coord3D (0.0, 0.0, 0.0);
+ let end = new OV.Coord3D (9.0, 0.0, 0.0);
+ let segments = OV.TweenCoord3D (beg, end, 10, OV.LinearTweenFunction);
+ assert.strictEqual (segments.length, 10);
+ assert (OV.CoordIsEqual3D (segments[0], beg));
+ assert (OV.CoordIsEqual3D (segments[1], new OV.Coord3D (1.0, 0.0, 0.0)));
+ assert (OV.CoordIsEqual3D (segments[5], new OV.Coord3D (5.0, 0.0, 0.0)));
+ assert (OV.CoordIsEqual3D (segments[segments.length - 1], end));
+ });
});
diff --git a/test/tests/importer3ds_test.js b/test/tests/importer3ds_test.js
index 68b1314..365993d 100644
--- a/test/tests/importer3ds_test.js
+++ b/test/tests/importer3ds_test.js
@@ -3,159 +3,159 @@ var testFiles = require ('../utils/testfiles.js');
var testUtils = require ('../utils/testutils.js');
describe ('3ds Importer', function() {
- it ('cube_with_materials.obj', function () {
- var model = testFiles.Import3dsFile ('cube_with_materials.3ds');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'tex' },
- { name : 'red' },
- { name : 'green' },
- { name : 'blue' },
- { name : 'white' }
- ],
- meshes : [
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_with_materials.obj', function () {
+ var model = testFiles.Import3dsFile ('cube_with_materials.3ds');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'tex' },
+ { name : 'red' },
+ { name : 'green' },
+ { name : 'blue' },
+ { name : 'white' }
+ ],
+ meshes : [
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_with_texture_transformations.3ds', function () {
- var model = testFiles.Import3dsFile ('cube_with_texture_transformations.3ds');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'tex' },
- { name : 'red' },
- { name : 'green' },
- { name : 'blue' },
- { name : 'white' }
- ],
- meshes : [
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_with_texture_transformations.3ds', function () {
+ var model = testFiles.Import3dsFile ('cube_with_texture_transformations.3ds');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'tex' },
+ { name : 'red' },
+ { name : 'green' },
+ { name : 'blue' },
+ { name : 'white' }
+ ],
+ meshes : [
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_two_instances.3ds', function () {
- var model = testFiles.Import3dsFile ('cube_two_instances.3ds');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'tex' },
- { name : 'red' },
- { name : 'green' },
- { name : 'blue' },
- { name : 'white' }
- ],
- meshes : [
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- },
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [2, 0, 0],
- max : [3, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_two_instances.3ds', function () {
+ var model = testFiles.Import3dsFile ('cube_two_instances.3ds');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'tex' },
+ { name : 'red' },
+ { name : 'green' },
+ { name : 'blue' },
+ { name : 'white' }
+ ],
+ meshes : [
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ },
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [2, 0, 0],
+ max : [3, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_four_instances.3ds', function () {
- var model = testFiles.Import3dsFile ('cube_four_instances.3ds');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'tex' },
- { name : 'red' },
- { name : 'green' },
- { name : 'blue' },
- { name : 'white' }
- ],
- meshes : [
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- },
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [2, 0, 0],
- max : [3, 1, 1]
- }
- },
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [2, 2, 0],
- max : [3, 3, 1]
- }
- },
- {
- name : 'cube',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 8,
- triangleCount : 12,
- boundingBox : {
- min : [0, 2, 0],
- max : [1, 3, 1]
- }
- }
- ]
- });
- });
+ it ('cube_four_instances.3ds', function () {
+ var model = testFiles.Import3dsFile ('cube_four_instances.3ds');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'tex' },
+ { name : 'red' },
+ { name : 'green' },
+ { name : 'blue' },
+ { name : 'white' }
+ ],
+ meshes : [
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ },
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [2, 0, 0],
+ max : [3, 1, 1]
+ }
+ },
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [2, 2, 0],
+ max : [3, 3, 1]
+ }
+ },
+ {
+ name : 'cube',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 8,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 2, 0],
+ max : [1, 3, 1]
+ }
+ }
+ ]
+ });
+ });
});
diff --git a/test/tests/importer_test.js b/test/tests/importer_test.js
index 395d230..0e375b4 100644
--- a/test/tests/importer_test.js
+++ b/test/tests/importer_test.js
@@ -22,7 +22,7 @@ function ImportFiles (files, callbacks)
}
describe ('Importer Test', function () {
- it ('Empty File List', function () {
+ it ('Empty File List', function () {
let files = [];
ImportFiles (files, {
success : function (importer, importResult) {
@@ -32,9 +32,9 @@ describe ('Importer Test', function () {
assert.strictEqual (importError.code, OV.ImportErrorCode.NoImportableFile);
}
});
- });
+ });
- it ('Not existing file', function () {
+ it ('Not existing file', function () {
let files = [
new FileObject ('obj', 'missing.obj')
];
@@ -46,9 +46,9 @@ describe ('Importer Test', function () {
assert.strictEqual (importError.code, OV.ImportErrorCode.NoImportableFile);
}
});
- });
+ });
- it ('Not imprtable file', function () {
+ it ('Not imprtable file', function () {
let files = [
new FileObject ('', 'wrong.ext')
];
@@ -60,9 +60,9 @@ describe ('Importer Test', function () {
assert.strictEqual (importError.code, OV.ImportErrorCode.NoImportableFile);
}
});
- });
+ });
- it ('Wrong file', function () {
+ it ('Wrong file', function () {
let files = [
new FileObject ('3ds', 'wrong.3ds')
];
@@ -74,7 +74,7 @@ describe ('Importer Test', function () {
assert.strictEqual (importError.code, OV.ImportErrorCode.ImportFailed);
}
});
- });
+ });
it ('Single file', function () {
let files = [
@@ -90,7 +90,7 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
it ('Multiple files', function () {
let files = [
@@ -110,7 +110,7 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
it ('Missing files', function () {
let files = [];
@@ -147,7 +147,7 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
it ('Missing texture multiple times', function () {
let files = [
@@ -164,7 +164,7 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
it ('Append Missing files', function () {
let theImporter = new OV.Importer ();
@@ -198,7 +198,7 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
it ('Reuse importer', function () {
let files1 = [
@@ -232,5 +232,5 @@ describe ('Importer Test', function () {
assert.fail ();
}
});
- });
+ });
});
diff --git a/test/tests/importergltf_test.js b/test/tests/importergltf_test.js
index da4fbc2..23eb451 100644
--- a/test/tests/importergltf_test.js
+++ b/test/tests/importergltf_test.js
@@ -6,7 +6,7 @@ let testUtils = require ('../utils/testutils.js');
//console.log (util.inspect(testUtils.ModelToObjectSimple (model), {showHidden: false, depth: null}))
describe ('Gltf Importer', function () {
- it ('Triangle', function () {
+ it ('Triangle', function () {
let testFileList = [
['Triangle/glTF', 'Triangle.gltf'],
['Triangle/glTF-Embedded', 'Triangle.gltf'],
@@ -37,9 +37,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('Box', function () {
+ it ('Box', function () {
let testFileList = [
['Box/glTF', 'Box.gltf'],
['Box/glTF-Embedded', 'Box.gltf'],
@@ -69,9 +69,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('BoxInterleaved', function () {
+ it ('BoxInterleaved', function () {
let testFileList = [
['BoxInterleaved/glTF', 'BoxInterleaved.gltf'],
['BoxInterleaved/glTF-Embedded', 'BoxInterleaved.gltf'],
@@ -101,9 +101,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('BoxTextured', function () {
+ it ('BoxTextured', function () {
let testFileList = [
['BoxTextured/glTF', 'BoxTextured.gltf'],
['BoxTextured/glTF-Embedded', 'BoxTextured.gltf'],
@@ -133,7 +133,7 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
it ('SimpleMeshes', function () {
let testFileList = [
@@ -175,7 +175,7 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
it ('OrientationTest', function () {
let testFileList = [
@@ -345,9 +345,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('MeshPrimitives_4Vertex', function () {
+ it ('MeshPrimitives_4Vertex', function () {
let testFileList = [
['Mesh_PrimitiveMode', 'Mesh_PrimitiveMode_04.gltf'],
['Mesh_PrimitiveMode', 'Mesh_PrimitiveMode_05.gltf'],
@@ -379,9 +379,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('MeshPrimitives_6Vertex', function () {
+ it ('MeshPrimitives_6Vertex', function () {
let testFileList = [
['Mesh_PrimitiveMode', 'Mesh_PrimitiveMode_06.gltf']
];
@@ -409,9 +409,9 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
- it ('SimpleSparseAccessor', function () {
+ it ('SimpleSparseAccessor', function () {
let testFileList = [
['SimpleSparseAccessor/glTF', 'SimpleSparseAccessor.gltf'],
['SimpleSparseAccessor/glTF-Embedded', 'SimpleSparseAccessor.gltf']
@@ -440,5 +440,5 @@ describe ('Gltf Importer', function () {
]
});
}
- });
+ });
});
diff --git a/test/tests/importerobj_test.js b/test/tests/importerobj_test.js
index 824be87..c1df2df 100644
--- a/test/tests/importerobj_test.js
+++ b/test/tests/importerobj_test.js
@@ -3,579 +3,579 @@ var testFiles = require ('../utils/testfiles.js');
var testUtils = require ('../utils/testutils.js');
describe ('Obj Importer', function() {
- it ('single_triangle.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles.obj', function () {
- var model = testFiles.ImportObjFile ('two_triangles.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles.obj', function () {
+ var model = testFiles.ImportObjFile ('two_triangles.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_rectangle.obj', function () {
- var model = testFiles.ImportObjFile ('single_rectangle.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_rectangle.obj', function () {
+ var model = testFiles.ImportObjFile ('single_rectangle.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_comments.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle_with_comments.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MyMeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_comments.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle_with_comments.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MyMeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_negative_indices.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle_negative_indices.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_negative_indices.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle_negative_indices.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_normals_and_uvs.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle_with_normals_and_uvs.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [0, 0, 1, 0, 1, 1],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_normals_and_uvs.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle_with_normals_and_uvs.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [0, 0, 1, 0, 1, 1],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_in_mesh.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle_in_mesh.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_in_mesh.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle_in_mesh.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles_in_meshes.obj', function () {
- var model = testFiles.ImportObjFile ('two_triangles_in_meshes.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName1',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- },
- {
- name : 'MeshName2',
- triangles : [
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles_in_meshes.obj', function () {
+ var model = testFiles.ImportObjFile ('two_triangles_in_meshes.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName1',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ },
+ {
+ name : 'MeshName2',
+ triangles : [
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('empty_meshes.obj', function () {
- var model = testFiles.ImportObjFile ('empty_meshes.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName1',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- },
- {
- name : 'MeshName2',
- triangles : [
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('empty_meshes.obj', function () {
+ var model = testFiles.ImportObjFile ('empty_meshes.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName1',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ },
+ {
+ name : 'MeshName2',
+ triangles : [
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_material.obj', function () {
- var model = testFiles.ImportObjFile ('single_triangle_with_material.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : 'MaterialName1' },
- { name : 'MaterialName2' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_material.obj', function () {
+ var model = testFiles.ImportObjFile ('single_triangle_with_material.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : 'MaterialName1' },
+ { name : 'MaterialName2' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles_with_material.obj', function () {
- var model = testFiles.ImportObjFile ('two_triangles_with_material.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : 'MaterialName1' },
- { name : 'MaterialName2' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 1
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles_with_material.obj', function () {
+ var model = testFiles.ImportObjFile ('two_triangles_with_material.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : 'MaterialName1' },
+ { name : 'MaterialName2' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 1
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_meshes_same_vertices.obj', function () {
- var model = testFiles.ImportObjFile ('two_meshes_same_vertices.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName1',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- },
- {
- name : 'MeshName2',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 0, 0, 1],
- normals : [0, -1, 0, 0, -1, 0, 0, -1, 0],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_meshes_same_vertices.obj', function () {
+ var model = testFiles.ImportObjFile ('two_meshes_same_vertices.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName1',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ },
+ {
+ name : 'MeshName2',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 0, 0, 1],
+ normals : [0, -1, 0, 0, -1, 0, 0, -1, 0],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_meshes_with_same_name.obj', function () {
- var model = testFiles.ImportObjFile ('two_meshes_with_same_name.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 0, 0, 0, 0, 1],
- normals : [0, -1, 0, 0, -1, 0, 0, -1, 0],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_meshes_with_same_name.obj', function () {
+ var model = testFiles.ImportObjFile ('two_meshes_with_same_name.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 0, 0, 1],
+ normals : [0, -1, 0, 0, -1, 0, 0, -1, 0],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('rectangle_with_texture.obj', function () {
- var model = testFiles.ImportObjFile ('rectangle_with_texture.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : 'Material' }
- ],
- meshes : [
- {
- name : 'Mesh',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [0, 0, 1, 0, 1, 1],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [0, 0, 1, 1, 0, 1],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('rectangle_with_texture.obj', function () {
+ var model = testFiles.ImportObjFile ('rectangle_with_texture.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : 'Material' }
+ ],
+ meshes : [
+ {
+ name : 'Mesh',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [0, 0, 1, 0, 1, 1],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [0, 0, 1, 1, 0, 1],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_materials_same_texture.obj', function () {
- var model = testFiles.ImportObjFile ('two_materials_same_texture.obj');
- assert.strictEqual (model.GetMaterial (0).diffuseMap.url, model.GetMaterial (1).diffuseMap.url);
- assert.strictEqual (model.GetMaterial (0).diffuseMap.buffer.byteLength, model.GetMaterial (1).diffuseMap.buffer.byteLength);
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : 'Material1' },
- { name : 'Material2' }
- ],
- meshes : [
- {
- name : 'Mesh',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [0, 0, 1, 0, 1, 1],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [0, 0, 1, 1, 0, 1],
- mat : 1
- }
- ]
- }
- ]
- });
- });
+ it ('two_materials_same_texture.obj', function () {
+ var model = testFiles.ImportObjFile ('two_materials_same_texture.obj');
+ assert.strictEqual (model.GetMaterial (0).diffuseMap.url, model.GetMaterial (1).diffuseMap.url);
+ assert.strictEqual (model.GetMaterial (0).diffuseMap.buffer.byteLength, model.GetMaterial (1).diffuseMap.buffer.byteLength);
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : 'Material1' },
+ { name : 'Material2' }
+ ],
+ meshes : [
+ {
+ name : 'Mesh',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [0, 0, 1, 0, 1, 1],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [0, 0, 1, 1, 0, 1],
+ mat : 1
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('cube_with_materials.obj', function () {
- var model = testFiles.ImportObjFile ('cube_with_materials.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'Red' },
- { name : 'Green' },
- { name : 'Blue' },
- { name : 'White' },
- { name : 'Texture' }
- ],
- meshes : [
- {
- name : 'Cube',
- vertexCount : 8,
- normalCount : 6,
- uvCount : 4,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_with_materials.obj', function () {
+ var model = testFiles.ImportObjFile ('cube_with_materials.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'Red' },
+ { name : 'Green' },
+ { name : 'Blue' },
+ { name : 'White' },
+ { name : 'Texture' }
+ ],
+ meshes : [
+ {
+ name : 'Cube',
+ vertexCount : 8,
+ normalCount : 6,
+ uvCount : 4,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_rgb.obj', function () {
- var model = testFiles.ImportObjFile ('cube_rgb.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'Red' },
- { name : 'Green' },
- { name : 'Blue' },
- { name : 'White' }
- ],
- meshes : [
- {
- name : 'Cube',
- vertexCount : 8,
- normalCount : 6,
- uvCount : 4,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_rgb.obj', function () {
+ var model = testFiles.ImportObjFile ('cube_rgb.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'Red' },
+ { name : 'Green' },
+ { name : 'Blue' },
+ { name : 'White' }
+ ],
+ meshes : [
+ {
+ name : 'Cube',
+ vertexCount : 8,
+ normalCount : 6,
+ uvCount : 4,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_with_materials_comments.obj', function () {
- var model = testFiles.ImportObjFile ('cube_with_materials_comments.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'Red' },
- { name : 'Green' },
- { name : 'Blue' },
- { name : 'White' },
- { name : 'Texture' }
- ],
- meshes : [
- {
- name : 'Cube',
- vertexCount : 8,
- normalCount : 6,
- uvCount : 4,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
-
- it ('cube with white spaces.obj', function () {
- var model = testFiles.ImportObjFile ('cube with white spaces.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'Red Color' },
- { name : 'Green Color' },
- { name : 'Blue Color' },
- { name : 'White Color' },
- { name : 'Texture Color' }
- ],
- meshes : [
- {
- name : 'Cube Mesh',
- vertexCount : 8,
- normalCount : 6,
- uvCount : 4,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_with_materials_comments.obj', function () {
+ var model = testFiles.ImportObjFile ('cube_with_materials_comments.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'Red' },
+ { name : 'Green' },
+ { name : 'Blue' },
+ { name : 'White' },
+ { name : 'Texture' }
+ ],
+ meshes : [
+ {
+ name : 'Cube',
+ vertexCount : 8,
+ normalCount : 6,
+ uvCount : 4,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
+
+ it ('cube with white spaces.obj', function () {
+ var model = testFiles.ImportObjFile ('cube with white spaces.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'Red Color' },
+ { name : 'Green Color' },
+ { name : 'Blue Color' },
+ { name : 'White Color' },
+ { name : 'Texture Color' }
+ ],
+ meshes : [
+ {
+ name : 'Cube Mesh',
+ vertexCount : 8,
+ normalCount : 6,
+ uvCount : 4,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('icosahedron.obj', function () {
- var model = testFiles.ImportObjFile ('icosahedron.obj');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : 'Blue' }
- ],
- meshes : [
- {
- name : 'Icosahedron',
- vertexCount : 12,
- normalCount : 20,
- uvCount : 0,
- triangleCount : 20,
- boundingBox : {
- min : [-0.85065080835204, -0.85065080835204, -0.85065080835204],
- max : [0.85065080835204, 0.85065080835204, 0.85065080835204]
- }
- }
- ]
- });
- });
+ it ('icosahedron.obj', function () {
+ var model = testFiles.ImportObjFile ('icosahedron.obj');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : 'Blue' }
+ ],
+ meshes : [
+ {
+ name : 'Icosahedron',
+ vertexCount : 12,
+ normalCount : 20,
+ uvCount : 0,
+ triangleCount : 20,
+ boundingBox : {
+ min : [-0.85065080835204, -0.85065080835204, -0.85065080835204],
+ max : [0.85065080835204, 0.85065080835204, 0.85065080835204]
+ }
+ }
+ ]
+ });
+ });
- it ('hundred_cubes.obj', function () {
- var model = testFiles.ImportObjFile ('hundred_cubes.obj');
- assert (OV.CheckModel (model));
- assert.strictEqual (model.MaterialCount (), 3);
- assert.strictEqual (model.MeshCount (), 100);
- });
+ it ('hundred_cubes.obj', function () {
+ var model = testFiles.ImportObjFile ('hundred_cubes.obj');
+ assert (OV.CheckModel (model));
+ assert.strictEqual (model.MaterialCount (), 3);
+ assert.strictEqual (model.MeshCount (), 100);
+ });
});
diff --git a/test/tests/importeroff_test.js b/test/tests/importeroff_test.js
index 69cb86e..b05be9e 100644
--- a/test/tests/importeroff_test.js
+++ b/test/tests/importeroff_test.js
@@ -3,135 +3,135 @@ var testFiles = require ('../utils/testfiles.js');
var testUtils = require ('../utils/testutils.js');
describe ('Off Importer', function() {
- it ('single_triangle.off', function () {
- var model = testFiles.ImportOffFile ('single_triangle.off');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle.off', function () {
+ var model = testFiles.ImportOffFile ('single_triangle.off');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles.off', function () {
- var model = testFiles.ImportOffFile ('two_triangles.off');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles.off', function () {
+ var model = testFiles.ImportOffFile ('two_triangles.off');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_rectangle.off', function () {
- var model = testFiles.ImportOffFile ('single_rectangle.off');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_rectangle.off', function () {
+ var model = testFiles.ImportOffFile ('single_rectangle.off');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_comments.off', function () {
- var model = testFiles.ImportOffFile ('single_triangle_with_comments.off');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_comments.off', function () {
+ var model = testFiles.ImportOffFile ('single_triangle_with_comments.off');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('cube.off', function () {
- var model = testFiles.ImportOffFile ('cube.off');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 0,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube.off', function () {
+ var model = testFiles.ImportOffFile ('cube.off');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 0,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
});
diff --git a/test/tests/importerply_test.js b/test/tests/importerply_test.js
index f16e4ca..c9a8b8e 100644
--- a/test/tests/importerply_test.js
+++ b/test/tests/importerply_test.js
@@ -3,210 +3,210 @@ var testFiles = require ('../utils/testfiles.js');
var testUtils = require ('../utils/testutils.js');
describe ('Ply Importer', function() {
- it ('single_triangle.ply', function () {
- var model = testFiles.ImportPlyFile ('single_triangle.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle.ply', function () {
+ var model = testFiles.ImportPlyFile ('single_triangle.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles.ply', function () {
- var model = testFiles.ImportPlyFile ('two_triangles.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles.ply', function () {
+ var model = testFiles.ImportPlyFile ('two_triangles.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_rectangle.ply', function () {
- var model = testFiles.ImportPlyFile ('single_rectangle.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_rectangle.ply', function () {
+ var model = testFiles.ImportPlyFile ('single_rectangle.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 0, 1, 1, 0, 0, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_comments.ply', function () {
- var model = testFiles.ImportPlyFile ('single_triangle_with_comments.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_comments.ply', function () {
+ var model = testFiles.ImportPlyFile ('single_triangle_with_comments.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('cube.ply', function () {
- var model = testFiles.ImportPlyFile ('cube.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 0,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
-
- it ('cube_meshlab_ascii.ply', function () {
- var model = testFiles.ImportPlyFile ('cube_meshlab_ascii.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 8,
+ it ('cube.ply', function () {
+ var model = testFiles.ImportPlyFile ('cube.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 8,
normalCount : 12,
uvCount : 0,
triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_meshlab_binary.ply', function () {
- var model = testFiles.ImportPlyFile ('cube_meshlab_binary.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 8,
+ it ('cube_meshlab_ascii.ply', function () {
+ var model = testFiles.ImportPlyFile ('cube_meshlab_ascii.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 8,
normalCount : 12,
uvCount : 0,
triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_rgb_binary.ply', function () {
- var model = testFiles.ImportPlyFile ('cube_rgb_binary.ply');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '#cc0000ff' },
- { name : '#00cc00ff' },
- { name : '#0000ccff' },
- { name : '#cccccc7f' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 8,
- normalCount : 12,
- uvCount : 0,
- triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ it ('cube_meshlab_binary.ply', function () {
+ var model = testFiles.ImportPlyFile ('cube_meshlab_binary.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 0,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
+
+ it ('cube_rgb_binary.ply', function () {
+ var model = testFiles.ImportPlyFile ('cube_rgb_binary.ply');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '#cc0000ff' },
+ { name : '#00cc00ff' },
+ { name : '#0000ccff' },
+ { name : '#cccccc7f' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 8,
+ normalCount : 12,
+ uvCount : 0,
+ triangleCount : 12,
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
});
diff --git a/test/tests/importerstl_test.js b/test/tests/importerstl_test.js
index 1416b1f..d7f7d5c 100644
--- a/test/tests/importerstl_test.js
+++ b/test/tests/importerstl_test.js
@@ -3,202 +3,202 @@ var testFiles = require ('../utils/testfiles.js');
var testUtils = require ('../utils/testutils.js');
describe ('Stl Importer', function() {
- it ('single_triangle.stl', function () {
- var model = testFiles.ImportStlFile ('single_triangle.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle.stl', function () {
+ var model = testFiles.ImportStlFile ('single_triangle.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_with_comments.stl', function () {
- var model = testFiles.ImportStlFile ('single_triangle_with_comments.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_with_comments.stl', function () {
+ var model = testFiles.ImportStlFile ('single_triangle_with_comments.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('single_triangle_no_normal.stl', function () {
- var model = testFiles.ImportStlFile ('single_triangle_no_normal.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('single_triangle_no_normal.stl', function () {
+ var model = testFiles.ImportStlFile ('single_triangle_no_normal.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('two_triangles.stl', function () {
- var model = testFiles.ImportStlFile ('two_triangles.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'MeshName',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
- });
+ it ('two_triangles.stl', function () {
+ var model = testFiles.ImportStlFile ('two_triangles.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'MeshName',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
+ });
- it ('stl_ascii.stl', function () {
- var model = testFiles.ImportStlFile ('stl_ascii.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'Untitled-5427e5af',
- vertexCount : 1716,
+ it ('stl_ascii.stl', function () {
+ var model = testFiles.ImportStlFile ('stl_ascii.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'Untitled-5427e5af',
+ vertexCount : 1716,
normalCount : 572,
uvCount : 0,
triangleCount : 572,
- boundingBox : {
- min : [0, -1.10792799192095, 0],
- max : [4.94407346265022, 3.31831671830375, 1.2]
- }
- }
- ]
- });
- });
+ boundingBox : {
+ min : [0, -1.10792799192095, 0],
+ max : [4.94407346265022, 3.31831671830375, 1.2]
+ }
+ }
+ ]
+ });
+ });
- it ('stl_binary.stl', function () {
- var model = testFiles.ImportStlFile ('stl_binary.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 2184,
+ it ('stl_binary.stl', function () {
+ var model = testFiles.ImportStlFile ('stl_binary.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 2184,
normalCount : 728,
uvCount : 0,
triangleCount : 728,
- boundingBox : {
- min : [0, -1.1079280376434326, 0],
- max : [5.70156717300415, 3.318316698074341, 1.2000000476837158]
- }
- }
- ]
- });
- });
-
+ boundingBox : {
+ min : [0, -1.1079280376434326, 0],
+ max : [5.70156717300415, 3.318316698074341, 1.2000000476837158]
+ }
+ }
+ ]
+ });
+ });
+
- it ('cube_meshlab_ascii.stl', function () {
- var model = testFiles.ImportStlFile ('cube_meshlab_ascii.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : 'STL generated by MeshLab',
- vertexCount : 36,
+ it ('cube_meshlab_ascii.stl', function () {
+ var model = testFiles.ImportStlFile ('cube_meshlab_ascii.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : 'STL generated by MeshLab',
+ vertexCount : 36,
normalCount : 12,
uvCount : 0,
triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
- it ('cube_meshlab_binary.stl', function () {
- var model = testFiles.ImportStlFile ('cube_meshlab_binary.stl');
- assert (OV.CheckModel (model));
- assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- vertexCount : 36,
+ it ('cube_meshlab_binary.stl', function () {
+ var model = testFiles.ImportStlFile ('cube_meshlab_binary.stl');
+ assert (OV.CheckModel (model));
+ assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ vertexCount : 36,
normalCount : 12,
uvCount : 0,
triangleCount : 12,
- boundingBox : {
- min : [0, 0, 0],
- max : [1, 1, 1]
- }
- }
- ]
- });
- });
+ boundingBox : {
+ min : [0, 0, 0],
+ max : [1, 1, 1]
+ }
+ }
+ ]
+ });
+ });
});
diff --git a/test/tests/importerutils_test.js b/test/tests/importerutils_test.js
index 2b2b511..b6abda6 100644
--- a/test/tests/importerutils_test.js
+++ b/test/tests/importerutils_test.js
@@ -1,7 +1,7 @@
var assert = require ('assert');
describe ('Power of Two', function () {
- it ('IsPowerOfTwo', function () {
+ it ('IsPowerOfTwo', function () {
assert (OV.IsPowerOfTwo (1));
assert (OV.IsPowerOfTwo (2));
assert (!OV.IsPowerOfTwo (3));
@@ -13,5 +13,5 @@ describe ('Power of Two', function () {
assert.strictEqual (OV.NextPowerOfTwo (i - 1), i);
assert.strictEqual (OV.NextPowerOfTwo (i + 1), i * 2);
}
- });
+ });
});
diff --git a/test/tests/io_test.js b/test/tests/io_test.js
index 4f3591c..cbdd29a 100644
--- a/test/tests/io_test.js
+++ b/test/tests/io_test.js
@@ -2,7 +2,7 @@ var assert = require ('assert');
var testUtils = require ('../utils/testutils.js');
describe ('IO Test', function () {
- it ('Binary Reader', function () {
+ it ('Binary Reader', function () {
let buffer = testUtils.GetArrayBufferFileContent ('bin', 'binary_content.bin');
let reader = new OV.BinaryReader (buffer, true);
diff --git a/test/tests/mesh_test.js b/test/tests/mesh_test.js
index e00db7a..082d317 100644
--- a/test/tests/mesh_test.js
+++ b/test/tests/mesh_test.js
@@ -1,109 +1,109 @@
var assert = require ('assert');
describe ('Mesh', function() {
- it ('Default Initialization', function () {
- var mesh = new OV.Mesh ();
- assert.strictEqual (mesh.GetName (), '');
- assert.strictEqual (mesh.VertexCount (), 0);
- assert.strictEqual (mesh.NormalCount (), 0);
- assert.strictEqual (mesh.TextureUVCount (), 0);
- assert.strictEqual (mesh.TriangleCount (), 0);
- });
-
- it ('Set Name', function () {
- var mesh = new OV.Mesh ();
- mesh.SetName ('example');
- assert.strictEqual (mesh.GetName (), 'example');
- });
+ it ('Default Initialization', function () {
+ var mesh = new OV.Mesh ();
+ assert.strictEqual (mesh.GetName (), '');
+ assert.strictEqual (mesh.VertexCount (), 0);
+ assert.strictEqual (mesh.NormalCount (), 0);
+ assert.strictEqual (mesh.TextureUVCount (), 0);
+ assert.strictEqual (mesh.TriangleCount (), 0);
+ });
+
+ it ('Set Name', function () {
+ var mesh = new OV.Mesh ();
+ mesh.SetName ('example');
+ assert.strictEqual (mesh.GetName (), 'example');
+ });
- it ('Add Vertex', function () {
- var mesh = new OV.Mesh ();
- var index = mesh.AddVertex (new OV.Coord3D (1.0, 2.0, 3.0))
- assert.strictEqual (index, 0);
- assert.strictEqual (mesh.VertexCount (), 1);
- var vertex = mesh.GetVertex (index);
- assert.strictEqual (vertex.x, 1.0);
- assert.strictEqual (vertex.y, 2.0);
- assert.strictEqual (vertex.z, 3.0);
- });
+ it ('Add Vertex', function () {
+ var mesh = new OV.Mesh ();
+ var index = mesh.AddVertex (new OV.Coord3D (1.0, 2.0, 3.0))
+ assert.strictEqual (index, 0);
+ assert.strictEqual (mesh.VertexCount (), 1);
+ var vertex = mesh.GetVertex (index);
+ assert.strictEqual (vertex.x, 1.0);
+ assert.strictEqual (vertex.y, 2.0);
+ assert.strictEqual (vertex.z, 3.0);
+ });
- it ('Add Normal', function () {
- var mesh = new OV.Mesh ();
- var index = mesh.AddNormal (new OV.Coord3D (1.0, 2.0, 3.0))
- assert.strictEqual (index, 0);
- assert.strictEqual (mesh.NormalCount (), 1);
- var normal = mesh.GetNormal (index);
- assert.strictEqual (normal.x, 1.0);
- assert.strictEqual (normal.y, 2.0);
- assert.strictEqual (normal.z, 3.0);
- });
-
- it ('Add Texture UV', function () {
- var mesh = new OV.Mesh ();
- var index = mesh.AddTextureUV (new OV.Coord2D (1.0, 2.0))
- assert.strictEqual (index, 0);
- assert.strictEqual (mesh.TextureUVCount (), 1);
- var uv = mesh.GetTextureUV (index);
- assert.strictEqual (uv.x, 1.0);
- assert.strictEqual (uv.y, 2.0);
- });
-
- it ('Add Triangle', function () {
- var mesh = new OV.Mesh ();
- var triangle = new OV.Triangle (1, 2, 3);
- var index = mesh.AddTriangle (triangle);
- assert.strictEqual (index, 0);
- assert.strictEqual (mesh.TriangleCount (), 1);
- var triangle = mesh.GetTriangle (index);
- assert.strictEqual (triangle.v0, 1);
- assert.strictEqual (triangle.v1, 2);
- assert.strictEqual (triangle.v2, 3);
- assert (triangle.HasVertices ());
- assert (!triangle.HasNormals ());
- assert (!triangle.HasTextureUVs ());
- assert.strictEqual (triangle.n0, null);
- assert.strictEqual (triangle.n1, null);
- assert.strictEqual (triangle.n2, null);
- assert.strictEqual (triangle.u0, null);
- assert.strictEqual (triangle.u1, null);
- assert.strictEqual (triangle.u2, null);
- assert.strictEqual (triangle.mat, null);
- });
+ it ('Add Normal', function () {
+ var mesh = new OV.Mesh ();
+ var index = mesh.AddNormal (new OV.Coord3D (1.0, 2.0, 3.0))
+ assert.strictEqual (index, 0);
+ assert.strictEqual (mesh.NormalCount (), 1);
+ var normal = mesh.GetNormal (index);
+ assert.strictEqual (normal.x, 1.0);
+ assert.strictEqual (normal.y, 2.0);
+ assert.strictEqual (normal.z, 3.0);
+ });
+
+ it ('Add Texture UV', function () {
+ var mesh = new OV.Mesh ();
+ var index = mesh.AddTextureUV (new OV.Coord2D (1.0, 2.0))
+ assert.strictEqual (index, 0);
+ assert.strictEqual (mesh.TextureUVCount (), 1);
+ var uv = mesh.GetTextureUV (index);
+ assert.strictEqual (uv.x, 1.0);
+ assert.strictEqual (uv.y, 2.0);
+ });
+
+ it ('Add Triangle', function () {
+ var mesh = new OV.Mesh ();
+ var triangle = new OV.Triangle (1, 2, 3);
+ var index = mesh.AddTriangle (triangle);
+ assert.strictEqual (index, 0);
+ assert.strictEqual (mesh.TriangleCount (), 1);
+ var triangle = mesh.GetTriangle (index);
+ assert.strictEqual (triangle.v0, 1);
+ assert.strictEqual (triangle.v1, 2);
+ assert.strictEqual (triangle.v2, 3);
+ assert (triangle.HasVertices ());
+ assert (!triangle.HasNormals ());
+ assert (!triangle.HasTextureUVs ());
+ assert.strictEqual (triangle.n0, null);
+ assert.strictEqual (triangle.n1, null);
+ assert.strictEqual (triangle.n2, null);
+ assert.strictEqual (triangle.u0, null);
+ assert.strictEqual (triangle.u1, null);
+ assert.strictEqual (triangle.u2, null);
+ assert.strictEqual (triangle.mat, null);
+ });
- it ('Transform Mesh', function () {
- var mesh = new OV.Mesh ();
- mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
- mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
- mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
- var triangle = new OV.Triangle (0, 1, 2);
- triangle.SetNormals (0, 0, 0);
- triangle.SetTextureUVs (0, 1, 2);
- mesh.AddTriangle (triangle);
+ it ('Transform Mesh', function () {
+ var mesh = new OV.Mesh ();
+ mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
+ mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
+ var triangle = new OV.Triangle (0, 1, 2);
+ triangle.SetNormals (0, 0, 0);
+ triangle.SetTextureUVs (0, 1, 2);
+ mesh.AddTriangle (triangle);
- let angle = -Math.PI / 2.0;
- let rotX = 0.0;
- let rotY = 1.0;
- let rotZ = 0.0;
+ let angle = -Math.PI / 2.0;
+ let rotX = 0.0;
+ let rotY = 1.0;
+ let rotZ = 0.0;
- let rotation = [
- Math.sin (angle / 2.0) * rotX,
- Math.sin (angle / 2.0) * rotY,
- Math.sin (angle / 2.0) * rotZ,
- Math.cos (angle / 2.0)
- ];
+ let rotation = [
+ Math.sin (angle / 2.0) * rotX,
+ Math.sin (angle / 2.0) * rotY,
+ Math.sin (angle / 2.0) * rotZ,
+ Math.cos (angle / 2.0)
+ ];
- let transformation = new OV.Transformation ();
- transformation.AppendMatrix (new OV.Matrix ().CreateScale (2.0, 1.0, 1.0));
- transformation.AppendMatrix (new OV.Matrix ().CreateRotation (rotation[0], rotation[1], rotation[2], rotation[3]));
- transformation.AppendMatrix (new OV.Matrix ().CreateTranslation (0.0, 0.0, 1.0));
- OV.TransformMesh (mesh, transformation);
- assert (OV.CoordIsEqual3D (mesh.GetVertex (0), new OV.Coord3D (0.0, 0.0, 1.0)));
- assert (OV.CoordIsEqual3D (mesh.GetVertex (1), new OV.Coord3D (0.0, 0.0, 3.0)));
- assert (OV.CoordIsEqual3D (mesh.GetVertex (2), new OV.Coord3D (0.0, 1.0, 3.0)));
- assert (OV.CoordIsEqual3D (mesh.GetNormal (0), new OV.Coord3D (-1.0, 0.0, 0.0)));
- });
+ let transformation = new OV.Transformation ();
+ transformation.AppendMatrix (new OV.Matrix ().CreateScale (2.0, 1.0, 1.0));
+ transformation.AppendMatrix (new OV.Matrix ().CreateRotation (rotation[0], rotation[1], rotation[2], rotation[3]));
+ transformation.AppendMatrix (new OV.Matrix ().CreateTranslation (0.0, 0.0, 1.0));
+ OV.TransformMesh (mesh, transformation);
+ assert (OV.CoordIsEqual3D (mesh.GetVertex (0), new OV.Coord3D (0.0, 0.0, 1.0)));
+ assert (OV.CoordIsEqual3D (mesh.GetVertex (1), new OV.Coord3D (0.0, 0.0, 3.0)));
+ assert (OV.CoordIsEqual3D (mesh.GetVertex (2), new OV.Coord3D (0.0, 1.0, 3.0)));
+ assert (OV.CoordIsEqual3D (mesh.GetNormal (0), new OV.Coord3D (-1.0, 0.0, 0.0)));
+ });
});
diff --git a/test/tests/meshbuffer_test.js b/test/tests/meshbuffer_test.js
index 0520490..5491cb0 100644
--- a/test/tests/meshbuffer_test.js
+++ b/test/tests/meshbuffer_test.js
@@ -12,23 +12,23 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 1.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
mesh.AddTriangle (new OV.Triangle (0, 1, 2).SetNormals (0, 0, 0).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetMaterial (0));
mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetNormals (0, 0, 0).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetNormals (0, 0, 0).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetNormals (0, 0, 0).SetMaterial (1));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 2);
- assert.strictEqual (buffer.primitives[0].indices.length, 6);
- assert.strictEqual (buffer.primitives[0].vertices.length, 4 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 4 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- assert.strictEqual (buffer.primitives[1].indices.length, 6);
- assert.strictEqual (buffer.primitives[1].vertices.length, 4 * 3);
- assert.strictEqual (buffer.primitives[1].normals.length, 4 * 3);
- assert.strictEqual (buffer.primitives[1].uvs.length, 0);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 2);
+ assert.strictEqual (buffer.primitives[0].indices.length, 6);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ assert.strictEqual (buffer.primitives[1].indices.length, 6);
+ assert.strictEqual (buffer.primitives[1].vertices.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[1].normals.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[1].uvs.length, 0);
+ });
it ('Mesh To Buffer Different Normals', function () {
var mesh = new OV.Mesh ();
@@ -36,18 +36,18 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, -1.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, -1.0));
mesh.AddTriangle (new OV.Triangle (0, 1, 2).SetNormals (0, 0, 0).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (1, 1, 1).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (1, 1, 1).SetMaterial (0));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 6);
- assert.strictEqual (buffer.primitives[0].vertices.length, 6 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 6 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 6);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 6 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 6 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ });
it ('Mesh To Buffer Different UVs', function () {
var mesh = new OV.Mesh ();
@@ -55,19 +55,19 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
- mesh.AddTextureUV (new OV.Coord3D (1.0, 1.0));
- mesh.AddTextureUV (new OV.Coord3D (-1.0, -1.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord3D (1.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord3D (-1.0, -1.0));
mesh.AddTriangle (new OV.Triangle (0, 1, 2).SetNormals (0, 0, 0).SetTextureUVs (0, 0, 0).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetTextureUVs (1, 1, 1).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetTextureUVs (1, 1, 1).SetMaterial (0));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 6);
- assert.strictEqual (buffer.primitives[0].vertices.length, 6 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 6 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 6 * 2);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 6);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 6 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 6 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 6 * 2);
+ });
it ('Mesh To Buffer Same Normals and UVs', function () {
var mesh = new OV.Mesh ();
@@ -75,21 +75,21 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
- mesh.AddTextureUV (new OV.Coord3D (1.0, 1.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord3D (1.0, 1.0));
mesh.AddTriangle (new OV.Triangle (0, 1, 2).SetNormals (0, 0, 0).SetTextureUVs (0, 0, 0).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetTextureUVs (0, 0, 0).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 3).SetNormals (0, 0, 0).SetTextureUVs (0, 0, 0).SetMaterial (0));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 6);
- assert.strictEqual (buffer.primitives[0].vertices.length, 4 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 4 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 4 * 2);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 6);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 4 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 4 * 2);
+ });
it ('Mesh To Buffer Cube', function () {
- var model = new OV.Model ();
+ var model = new OV.Model ();
var mesh = new OV.Mesh ();
mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
@@ -101,42 +101,42 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddNormal (new OV.Coord3D (0, -1, 0));
- mesh.AddNormal (new OV.Coord3D (1, 0, 0));
- mesh.AddNormal (new OV.Coord3D (0, 1, 0));
- mesh.AddNormal (new OV.Coord3D (-1, 0, 0));
- mesh.AddNormal (new OV.Coord3D (0, 0, -1));
- mesh.AddNormal (new OV.Coord3D (0, 0, 1));
+ mesh.AddNormal (new OV.Coord3D (0, -1, 0));
+ mesh.AddNormal (new OV.Coord3D (1, 0, 0));
+ mesh.AddNormal (new OV.Coord3D (0, 1, 0));
+ mesh.AddNormal (new OV.Coord3D (-1, 0, 0));
+ mesh.AddNormal (new OV.Coord3D (0, 0, -1));
+ mesh.AddNormal (new OV.Coord3D (0, 0, 1));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetNormals (0, 0, 0));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetNormals (0, 0, 0));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetNormals (1, 1, 1));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetNormals (1, 1, 1));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetNormals (2, 2, 2));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetNormals (2, 2, 2));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetNormals (3, 3, 3));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetNormals (3, 3, 3));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetNormals (4, 4, 4));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetNormals (4, 4, 4));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetNormals (5, 5, 5));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetNormals (5, 5, 5));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetNormals (0, 0, 0));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetNormals (0, 0, 0));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetNormals (1, 1, 1));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetNormals (1, 1, 1));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetNormals (2, 2, 2));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetNormals (2, 2, 2));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetNormals (3, 3, 3));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetNormals (3, 3, 3));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetNormals (4, 4, 4));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetNormals (4, 4, 4));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetNormals (5, 5, 5));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetNormals (5, 5, 5));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 36);
- assert.strictEqual (buffer.primitives[0].vertices.length, 24 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 24 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 36);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 24 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 24 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ });
it ('Mesh To Buffer Cube Auto Normals', function () {
- var model = new OV.Model ();
+ var model = new OV.Model ();
var mesh = new OV.Mesh ();
mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
@@ -148,37 +148,37 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 36);
- assert.strictEqual (buffer.primitives[0].vertices.length, 24 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 24 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
- assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 36);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 24 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 24 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
+ assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
+ });
it ('Mesh To Buffer Cube Auto Curve Normals', function () {
- var model = new OV.Model ();
+ var model = new OV.Model ();
var mesh = new OV.Mesh ();
mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
@@ -190,37 +190,37 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetCurve (1));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetCurve (1));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetCurve (1));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 36);
- assert.strictEqual (buffer.primitives[0].vertices.length, 8 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 8 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 36 * 2 + 2 * 8 * 3 * 4);
- assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 8 * 3 * 4);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 36);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 8 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 8 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 36 * 2 + 2 * 8 * 3 * 4);
+ assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 8 * 3 * 4);
+ });
it ('Mesh To Buffer Cube Materials', function () {
- var model = new OV.Model ();
+ var model = new OV.Model ();
model.AddMaterial (new OV.Material ());
model.AddMaterial (new OV.Material ());
var mesh = new OV.Mesh ();
@@ -234,42 +234,42 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetMaterial (0));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetMaterial (1));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetMaterial (0));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetMaterial (1));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetMaterial (1));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 2);
- assert.strictEqual (buffer.primitives[0].indices.length, 18);
- assert.strictEqual (buffer.primitives[0].vertices.length, 12 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 12 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 0);
- assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 18 * 2 + 2 * 12 * 3 * 4);
- assert.strictEqual (buffer.primitives[1].indices.length, 18);
- assert.strictEqual (buffer.primitives[1].vertices.length, 12 * 3);
- assert.strictEqual (buffer.primitives[1].normals.length, 12 * 3);
- assert.strictEqual (buffer.primitives[1].uvs.length, 0);
- assert.strictEqual (buffer.primitives[1].GetByteLength (2, 4), 18 * 2 + 2 * 12 * 3 * 4);
- assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 2);
+ assert.strictEqual (buffer.primitives[0].indices.length, 18);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 12 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 12 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 0);
+ assert.strictEqual (buffer.primitives[0].GetByteLength (2, 4), 18 * 2 + 2 * 12 * 3 * 4);
+ assert.strictEqual (buffer.primitives[1].indices.length, 18);
+ assert.strictEqual (buffer.primitives[1].vertices.length, 12 * 3);
+ assert.strictEqual (buffer.primitives[1].normals.length, 12 * 3);
+ assert.strictEqual (buffer.primitives[1].uvs.length, 0);
+ assert.strictEqual (buffer.primitives[1].GetByteLength (2, 4), 18 * 2 + 2 * 12 * 3 * 4);
+ assert.strictEqual (buffer.GetByteLength (2, 4), 36 * 2 + 2 * 24 * 3 * 4);
+ });
- it ('Mesh To Buffer Cube One UV', function () {
- var model = new OV.Model ();
+ it ('Mesh To Buffer Cube One UV', function () {
+ var model = new OV.Model ();
var mesh = new OV.Mesh ();
mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
@@ -280,39 +280,39 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 1.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 36);
- assert.strictEqual (buffer.primitives[0].vertices.length, 25 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 25 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 25 * 2);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 36);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 25 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 25 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 25 * 2);
+ });
- it ('Mesh To Buffer Cube All UVs', function () {
- var model = new OV.Model ();
+ it ('Mesh To Buffer Cube All UVs', function () {
+ var model = new OV.Model ();
var mesh = new OV.Mesh ();
mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
@@ -323,34 +323,34 @@ describe ('Mesh Buffer', function () {
mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 1.0));
mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
mesh.AddVertex (new OV.Coord3D (0.0, 1.0, 1.0));
- mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
+ mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (1.0, 1.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetTextureUVs (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 5).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 5, 4).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (1, 2, 6).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (1, 6, 5).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (2, 3, 7).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (2, 7, 6).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (3, 0, 4).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (3, 4, 7).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 3, 2).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 2, 1).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (4, 5, 6).SetTextureUVs (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (4, 6, 7).SetTextureUVs (0, 1, 2));
- model.AddMesh (mesh);
- OV.FinalizeModel (model, function () {
- return new OV.Material ();
- });
- assert (OV.CheckModel (model));
+ model.AddMesh (mesh);
+ OV.FinalizeModel (model, function () {
+ return new OV.Material ();
+ });
+ assert (OV.CheckModel (model));
- let buffer = OV.ConvertMeshToMeshBuffer (mesh);
- assert.strictEqual (buffer.primitives.length, 1);
- assert.strictEqual (buffer.primitives[0].indices.length, 36);
- assert.strictEqual (buffer.primitives[0].vertices.length, 30 * 3);
- assert.strictEqual (buffer.primitives[0].normals.length, 30 * 3);
- assert.strictEqual (buffer.primitives[0].uvs.length, 30 * 2);
- });
+ let buffer = OV.ConvertMeshToMeshBuffer (mesh);
+ assert.strictEqual (buffer.primitives.length, 1);
+ assert.strictEqual (buffer.primitives[0].indices.length, 36);
+ assert.strictEqual (buffer.primitives[0].vertices.length, 30 * 3);
+ assert.strictEqual (buffer.primitives[0].normals.length, 30 * 3);
+ assert.strictEqual (buffer.primitives[0].uvs.length, 30 * 2);
+ });
});
diff --git a/test/tests/model_test.js b/test/tests/model_test.js
index 3a617f7..52fbbcc 100644
--- a/test/tests/model_test.js
+++ b/test/tests/model_test.js
@@ -1,152 +1,152 @@
var assert = require ('assert');
describe ('Model', function() {
- it ('Default Initialization', function () {
- var model = new OV.Model ();
- assert.strictEqual (model.MaterialCount (), 0);
- assert.strictEqual (model.MeshCount (), 0);
- });
+ it ('Default Initialization', function () {
+ var model = new OV.Model ();
+ assert.strictEqual (model.MaterialCount (), 0);
+ assert.strictEqual (model.MeshCount (), 0);
+ });
- it ('Add Material', function () {
- var model = new OV.Model ();
- var material = new OV.Material ();
- material.name = 'example';
- var index = model.AddMaterial (material);
- assert.strictEqual (model.MaterialCount (), 1);
- var theMaterial = model.GetMaterial (index);
- assert.strictEqual (theMaterial.name, 'example');
- });
+ it ('Add Material', function () {
+ var model = new OV.Model ();
+ var material = new OV.Material ();
+ material.name = 'example';
+ var index = model.AddMaterial (material);
+ assert.strictEqual (model.MaterialCount (), 1);
+ var theMaterial = model.GetMaterial (index);
+ assert.strictEqual (theMaterial.name, 'example');
+ });
- it ('Add Mesh', function () {
- var model = new OV.Model ();
- var mesh = new OV.Mesh ();
- mesh.SetName ('example');
- var index = model.AddMesh (mesh);
- assert.strictEqual (model.MeshCount (), 1);
- var theMesh = model.GetMesh (index);
- assert.strictEqual (theMesh.GetName (), 'example');
- });
+ it ('Add Mesh', function () {
+ var model = new OV.Model ();
+ var mesh = new OV.Mesh ();
+ mesh.SetName ('example');
+ var index = model.AddMesh (mesh);
+ assert.strictEqual (model.MeshCount (), 1);
+ var theMesh = model.GetMesh (index);
+ assert.strictEqual (theMesh.GetName (), 'example');
+ });
- it ('Add Mesh To Index', function () {
- var model = new OV.Model ();
- var mesh1 = new OV.Mesh ();
- var mesh2 = new OV.Mesh ();
- var mesh3 = new OV.Mesh ();
- var mesh4 = new OV.Mesh ();
- mesh1.SetName ('A');
- mesh2.SetName ('B');
- mesh3.SetName ('C');
- mesh4.SetName ('D');
- model.AddMesh (mesh1);
- model.AddMesh (mesh2);
- model.AddMeshToIndex (mesh3, 1);
- model.AddMeshToIndex (mesh4, 3);
- assert.strictEqual (model.GetMesh (0).GetName (), 'A');
- assert.strictEqual (model.GetMesh (1).GetName (), 'C');
- assert.strictEqual (model.GetMesh (2).GetName (), 'B');
- assert.strictEqual (model.GetMesh (3).GetName (), 'D');
- });
+ it ('Add Mesh To Index', function () {
+ var model = new OV.Model ();
+ var mesh1 = new OV.Mesh ();
+ var mesh2 = new OV.Mesh ();
+ var mesh3 = new OV.Mesh ();
+ var mesh4 = new OV.Mesh ();
+ mesh1.SetName ('A');
+ mesh2.SetName ('B');
+ mesh3.SetName ('C');
+ mesh4.SetName ('D');
+ model.AddMesh (mesh1);
+ model.AddMesh (mesh2);
+ model.AddMeshToIndex (mesh3, 1);
+ model.AddMeshToIndex (mesh4, 3);
+ assert.strictEqual (model.GetMesh (0).GetName (), 'A');
+ assert.strictEqual (model.GetMesh (1).GetName (), 'C');
+ assert.strictEqual (model.GetMesh (2).GetName (), 'B');
+ assert.strictEqual (model.GetMesh (3).GetName (), 'D');
+ });
- it ('Counters', function () {
- var model = new OV.Model ();
- let mesh = new OV.Mesh ();
- mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
- mesh.AddTriangle (new OV.Triangle (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 1, 2));
- mesh.AddTriangle (new OV.Triangle (0, 1, 2));
- model.AddMesh (mesh);
- assert.strictEqual (model.VertexCount (), 3);
- assert.strictEqual (model.NormalCount (), 2);
- assert.strictEqual (model.TextureUVCount (), 1);
- assert.strictEqual (model.TriangleCount (), 4);
- });
+ it ('Counters', function () {
+ var model = new OV.Model ();
+ let mesh = new OV.Mesh ();
+ mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddNormal (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh.AddTextureUV (new OV.Coord2D (0.0, 0.0));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 2));
+ mesh.AddTriangle (new OV.Triangle (0, 1, 2));
+ model.AddMesh (mesh);
+ assert.strictEqual (model.VertexCount (), 3);
+ assert.strictEqual (model.NormalCount (), 2);
+ assert.strictEqual (model.TextureUVCount (), 1);
+ assert.strictEqual (model.TriangleCount (), 4);
+ });
- it ('Remove Mesh', function () {
- var model = new OV.Model ();
-
- let mesh1 = new OV.Mesh ();
- mesh1.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- mesh1.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
- mesh1.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
- mesh1.AddTriangle (new OV.Triangle (0, 1, 2));
- model.AddMesh (mesh1);
+ it ('Remove Mesh', function () {
+ var model = new OV.Model ();
+
+ let mesh1 = new OV.Mesh ();
+ mesh1.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ mesh1.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
+ mesh1.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
+ mesh1.AddTriangle (new OV.Triangle (0, 1, 2));
+ model.AddMesh (mesh1);
- let mesh2 = new OV.Mesh ();
- mesh2.AddVertex (new OV.Coord3D (0.0, 0.0, 1.0));
- mesh2.AddVertex (new OV.Coord3D (1.0, 0.0, 1.0));
- mesh2.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
- mesh2.AddTriangle (new OV.Triangle (0, 1, 2));
- model.AddMesh (mesh2);
+ let mesh2 = new OV.Mesh ();
+ mesh2.AddVertex (new OV.Coord3D (0.0, 0.0, 1.0));
+ mesh2.AddVertex (new OV.Coord3D (1.0, 0.0, 1.0));
+ mesh2.AddVertex (new OV.Coord3D (1.0, 1.0, 1.0));
+ mesh2.AddTriangle (new OV.Triangle (0, 1, 2));
+ model.AddMesh (mesh2);
- assert.strictEqual (model.MeshCount (), 2);
- assert.strictEqual (model.VertexCount (), 6);
- assert.strictEqual (model.TriangleCount (), 2);
+ assert.strictEqual (model.MeshCount (), 2);
+ assert.strictEqual (model.VertexCount (), 6);
+ assert.strictEqual (model.TriangleCount (), 2);
- model.RemoveMesh (0);
- assert.strictEqual (model.MeshCount (), 1);
- assert.strictEqual (model.VertexCount (), 3);
- assert.strictEqual (model.TriangleCount (), 1);
+ model.RemoveMesh (0);
+ assert.strictEqual (model.MeshCount (), 1);
+ assert.strictEqual (model.VertexCount (), 3);
+ assert.strictEqual (model.TriangleCount (), 1);
- model.RemoveMesh (0);
- assert.strictEqual (model.MeshCount (), 0);
- assert.strictEqual (model.VertexCount (), 0);
- assert.strictEqual (model.TriangleCount (), 0);
- });
+ model.RemoveMesh (0);
+ assert.strictEqual (model.MeshCount (), 0);
+ assert.strictEqual (model.VertexCount (), 0);
+ assert.strictEqual (model.TriangleCount (), 0);
+ });
});
describe ('Model Finalization', function() {
- it ('Calculate Normal', function () {
- var mesh = new OV.Mesh ();
- var v0 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- var v1 = mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
- var v2 = mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
- var triangleIndex = mesh.AddTriangle (new OV.Triangle (v0, v1, v2));
- var model = new OV.Model ();
- var meshIndex = model.AddMesh (mesh);
- assert.strictEqual (model.MaterialCount (), 0);
- OV.FinalizeModel (model, function () { new OV.Material () });
- assert.strictEqual (model.MaterialCount (), 1);
- var theMesh = model.GetMesh (meshIndex);
- assert.strictEqual (theMesh.NormalCount (), 1);
- var triangle = theMesh.GetTriangle (triangleIndex);
- assert.strictEqual (triangle.n0, 0);
- assert.strictEqual (triangle.n1, 0);
- assert.strictEqual (triangle.n2, 0);
- assert.strictEqual (triangle.mat, 0);
- });
+ it ('Calculate Normal', function () {
+ var mesh = new OV.Mesh ();
+ var v0 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ var v1 = mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
+ var v2 = mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
+ var triangleIndex = mesh.AddTriangle (new OV.Triangle (v0, v1, v2));
+ var model = new OV.Model ();
+ var meshIndex = model.AddMesh (mesh);
+ assert.strictEqual (model.MaterialCount (), 0);
+ OV.FinalizeModel (model, function () { new OV.Material () });
+ assert.strictEqual (model.MaterialCount (), 1);
+ var theMesh = model.GetMesh (meshIndex);
+ assert.strictEqual (theMesh.NormalCount (), 1);
+ var triangle = theMesh.GetTriangle (triangleIndex);
+ assert.strictEqual (triangle.n0, 0);
+ assert.strictEqual (triangle.n1, 0);
+ assert.strictEqual (triangle.n2, 0);
+ assert.strictEqual (triangle.mat, 0);
+ });
- it ('Calculate Curved Normal', function () {
- var mesh = new OV.Mesh ();
- var v0 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
- var v1 = mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
- var v2 = mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
- var v3 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, -1.0));
+ it ('Calculate Curved Normal', function () {
+ var mesh = new OV.Mesh ();
+ var v0 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, 0.0));
+ var v1 = mesh.AddVertex (new OV.Coord3D (1.0, 0.0, 0.0));
+ var v2 = mesh.AddVertex (new OV.Coord3D (1.0, 1.0, 0.0));
+ var v3 = mesh.AddVertex (new OV.Coord3D (0.0, 0.0, -1.0));
- var triangle1 = new OV.Triangle (v0, v1, v2);
- triangle1.curve = 1;
- var triangle2 = new OV.Triangle (v0, v3, v1);
- triangle2.curve = 1;
+ var triangle1 = new OV.Triangle (v0, v1, v2);
+ triangle1.curve = 1;
+ var triangle2 = new OV.Triangle (v0, v3, v1);
+ triangle2.curve = 1;
- var triangle1 = mesh.AddTriangle (triangle1);
- var triangle1 = mesh.AddTriangle (triangle2);
+ var triangle1 = mesh.AddTriangle (triangle1);
+ var triangle1 = mesh.AddTriangle (triangle2);
- var model = new OV.Model ()
- var meshIndex = model.AddMesh (mesh);
+ var model = new OV.Model ()
+ var meshIndex = model.AddMesh (mesh);
- OV.FinalizeModel (model, function () { new OV.Material () });
-
- var theMesh = model.GetMesh (meshIndex);
- assert.strictEqual (theMesh.NormalCount (), 6);
-
- var normal = theMesh.GetNormal (0);
- assert.strictEqual (normal.x, 0.0);
- assert.strictEqual (normal.y, -0.7071067811865475);
- assert.strictEqual (normal.z, 0.7071067811865475);
- });
+ OV.FinalizeModel (model, function () { new OV.Material () });
+
+ var theMesh = model.GetMesh (meshIndex);
+ assert.strictEqual (theMesh.NormalCount (), 6);
+
+ var normal = theMesh.GetNormal (0);
+ assert.strictEqual (normal.x, 0.0);
+ assert.strictEqual (normal.y, -0.7071067811865475);
+ assert.strictEqual (normal.z, 0.7071067811865475);
+ });
});
diff --git a/test/tests/modelutils_test.js b/test/tests/modelutils_test.js
index b1bc681..953c622 100644
--- a/test/tests/modelutils_test.js
+++ b/test/tests/modelutils_test.js
@@ -20,62 +20,62 @@ describe ('Model Utils', function () {
model.AddMesh (mesh2);
OV.FinalizeModel (model, function () { return new OV.Material (); });
- assert.deepStrictEqual (testUtils.ModelToObject (model), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- },
+ assert.deepStrictEqual (testUtils.ModelToObject (model), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
{
- name : '',
- triangles : [
- {
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
- }
- ]
- });
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ },
+ {
+ name : '',
+ triangles : [
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
+ }
+ ]
+ });
var mergedModel = OV.CreateMergedModel (model);
- assert.deepStrictEqual (testUtils.ModelToObject (mergedModel), {
- name : '',
- materials : [
- { name : '' }
- ],
- meshes : [
- {
- name : '',
- triangles : [
- {
- vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- },
+ assert.deepStrictEqual (testUtils.ModelToObject (mergedModel), {
+ name : '',
+ materials : [
+ { name : '' }
+ ],
+ meshes : [
+ {
+ name : '',
+ triangles : [
{
- vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
- normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
- uvs : [],
- mat : 0
- }
- ]
+ vertices : [0, 0, 0, 1, 0, 0, 1, 1, 0],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ },
+ {
+ vertices : [0, 0, 1, 1, 0, 1, 1, 1, 1],
+ normals : [0, 0, 1, 0, 0, 1, 0, 0, 1],
+ uvs : [],
+ mat : 0
+ }
+ ]
}
- ]
- });
- });
+ ]
+ });
+ });
});
diff --git a/test/tests/taskrunner_test.js b/test/tests/taskrunner_test.js
index 3b70d87..20f2866 100644
--- a/test/tests/taskrunner_test.js
+++ b/test/tests/taskrunner_test.js
@@ -1,31 +1,31 @@
var assert = require ('assert');
describe ('Task Runner', function () {
- it ('Run task zero times', function () {
- var tr = new OV.TaskRunner ();
- var numbers = [];
- tr.Run (0, {
- runTask : function (index, ready) {
- numbers.push (index);
- ready ();
- },
- onReady : function () {
- assert.deepStrictEqual (numbers, []);
- }
- });
- });
+ it ('Run task zero times', function () {
+ var tr = new OV.TaskRunner ();
+ var numbers = [];
+ tr.Run (0, {
+ runTask : function (index, ready) {
+ numbers.push (index);
+ ready ();
+ },
+ onReady : function () {
+ assert.deepStrictEqual (numbers, []);
+ }
+ });
+ });
- it ('Run task three times', function () {
- var tr = new OV.TaskRunner ();
- var numbers = [];
- tr.Run (3, {
- runTask : function (index, ready) {
- numbers.push (index);
- ready ();
- },
- onReady : function () {
- assert.deepStrictEqual (numbers, [0, 1, 2]);
- }
- });
- });
+ it ('Run task three times', function () {
+ var tr = new OV.TaskRunner ();
+ var numbers = [];
+ tr.Run (3, {
+ runTask : function (index, ready) {
+ numbers.push (index);
+ ready ();
+ },
+ onReady : function () {
+ assert.deepStrictEqual (numbers, [0, 1, 2]);
+ }
+ });
+ });
});
diff --git a/test/utils/globals.js b/test/utils/globals.js
index 4fecf30..f684c11 100644
--- a/test/utils/globals.js
+++ b/test/utils/globals.js
@@ -11,10 +11,10 @@ global.Blob = function () {
var objectUrlCounter = 0;
global.URL = {
- createObjectURL : function () {
- objectUrlCounter += 1;
- return 'ObjectUrl:' + objectUrlCounter.toString ();
- },
+ createObjectURL : function () {
+ objectUrlCounter += 1;
+ return 'ObjectUrl:' + objectUrlCounter.toString ();
+ },
revokeObjectURL : function () {
}
diff --git a/test/utils/testfiles.js b/test/utils/testfiles.js
index 0201afd..7c9b6c0 100644
--- a/test/utils/testfiles.js
+++ b/test/utils/testfiles.js
@@ -2,84 +2,84 @@ var testUtils = require ('./testutils.js');
module.exports =
{
- ImportObjFile : function (fileName)
- {
- var importer = new OV.ImporterObj ();
- return this.ImportFile (importer, OV.FileFormat.Text, 'obj', fileName);
- },
+ ImportObjFile : function (fileName)
+ {
+ var importer = new OV.ImporterObj ();
+ return this.ImportFile (importer, OV.FileFormat.Text, 'obj', fileName);
+ },
- ImportStlFile : function (fileName)
- {
- var importer = new OV.ImporterStl ();
- return this.ImportFile (importer, OV.FileFormat.Binary, 'stl', fileName);
- },
+ ImportStlFile : function (fileName)
+ {
+ var importer = new OV.ImporterStl ();
+ return this.ImportFile (importer, OV.FileFormat.Binary, 'stl', fileName);
+ },
- ImportOffFile : function (fileName)
- {
- var importer = new OV.ImporterOff ();
- return this.ImportFile (importer, OV.FileFormat.Text, 'off', fileName);
- },
+ ImportOffFile : function (fileName)
+ {
+ var importer = new OV.ImporterOff ();
+ return this.ImportFile (importer, OV.FileFormat.Text, 'off', fileName);
+ },
- ImportPlyFile : function (fileName)
- {
- var importer = new OV.ImporterPly ();
- return this.ImportFile (importer, OV.FileFormat.Binary, 'ply', fileName);
- },
+ ImportPlyFile : function (fileName)
+ {
+ var importer = new OV.ImporterPly ();
+ return this.ImportFile (importer, OV.FileFormat.Binary, 'ply', fileName);
+ },
- Import3dsFile : function (fileName)
- {
- var importer = new OV.Importer3ds ();
- return this.ImportFile (importer, OV.FileFormat.Binary, '3ds', fileName);
- },
+ Import3dsFile : function (fileName)
+ {
+ var importer = new OV.Importer3ds ();
+ return this.ImportFile (importer, OV.FileFormat.Binary, '3ds', fileName);
+ },
- ImportGltfFile : function (folderName, fileName)
- {
- let extension = OV.GetFileExtension (fileName);
- let format = OV.FileFormat.Text;
- if (extension == 'glb') {
- format = OV.FileFormat.Binary;
- }
- var importer = new OV.ImporterGltf ();
- return this.ImportFile (importer, format, 'gltf/' + folderName, fileName);
- },
+ ImportGltfFile : function (folderName, fileName)
+ {
+ let extension = OV.GetFileExtension (fileName);
+ let format = OV.FileFormat.Text;
+ if (extension == 'glb') {
+ format = OV.FileFormat.Binary;
+ }
+ var importer = new OV.ImporterGltf ();
+ return this.ImportFile (importer, format, 'gltf/' + folderName, fileName);
+ },
- ImportFile : function (importer, format, folder, fileName)
- {
- var content = null;
- if (format == OV.FileFormat.Text) {
- content = testUtils.GetTextFileContent (folder, fileName);
- } else if (format == OV.FileFormat.Binary) {
- content = testUtils.GetArrayBufferFileContent (folder, fileName);
- }
- var extension = OV.GetFileExtension (fileName);
- let buffers = new OV.ImporterBuffers (function (filePath) {
- let extension = OV.GetFileExtension (filePath);
- let knownFormats = importer.GetKnownFileFormats ();
- let format = OV.FileFormat.Binary;
- if (knownFormats[extension] !== undefined) {
- format = knownFormats[extension];
- }
- let fileContent = null;
- if (format == OV.FileFormat.Text) {
- fileContent = testUtils.GetTextFileContent (folder, filePath);
- } else if (format == OV.FileFormat.Binary) {
- fileContent = testUtils.GetArrayBufferFileContent (folder, filePath);
- }
- return fileContent;
- });
- importer.Import (content, extension, {
- getDefaultMaterial : function () {
- var material = new OV.Material ();
- return material;
- },
- getFileBuffer : function (filePath) {
- return buffers.GetFileBuffer (filePath);
- },
- getTextureBuffer : function (filePath) {
- return buffers.GetTextureBuffer (filePath);
- }
- });
- let model = importer.GetModel ();
- return model;
- }
+ ImportFile : function (importer, format, folder, fileName)
+ {
+ var content = null;
+ if (format == OV.FileFormat.Text) {
+ content = testUtils.GetTextFileContent (folder, fileName);
+ } else if (format == OV.FileFormat.Binary) {
+ content = testUtils.GetArrayBufferFileContent (folder, fileName);
+ }
+ var extension = OV.GetFileExtension (fileName);
+ let buffers = new OV.ImporterBuffers (function (filePath) {
+ let extension = OV.GetFileExtension (filePath);
+ let knownFormats = importer.GetKnownFileFormats ();
+ let format = OV.FileFormat.Binary;
+ if (knownFormats[extension] !== undefined) {
+ format = knownFormats[extension];
+ }
+ let fileContent = null;
+ if (format == OV.FileFormat.Text) {
+ fileContent = testUtils.GetTextFileContent (folder, filePath);
+ } else if (format == OV.FileFormat.Binary) {
+ fileContent = testUtils.GetArrayBufferFileContent (folder, filePath);
+ }
+ return fileContent;
+ });
+ importer.Import (content, extension, {
+ getDefaultMaterial : function () {
+ var material = new OV.Material ();
+ return material;
+ },
+ getFileBuffer : function (filePath) {
+ return buffers.GetFileBuffer (filePath);
+ },
+ getTextureBuffer : function (filePath) {
+ return buffers.GetTextureBuffer (filePath);
+ }
+ });
+ let model = importer.GetModel ();
+ return model;
+ }
}
diff --git a/test/utils/testutils.js b/test/utils/testutils.js
index 83f3fb4..77b3ae0 100644
--- a/test/utils/testutils.js
+++ b/test/utils/testutils.js
@@ -3,137 +3,137 @@ var path = require ('path');
module.exports =
{
- GetTextFileContent : function (folder, fileName)
- {
- var testFilePath = path.join ('testfiles', folder, fileName);
- if (!fs.existsSync (testFilePath)) {
- return null;
- }
- return fs.readFileSync (testFilePath).toString ();
- },
+ GetTextFileContent : function (folder, fileName)
+ {
+ var testFilePath = path.join ('testfiles', folder, fileName);
+ if (!fs.existsSync (testFilePath)) {
+ return null;
+ }
+ return fs.readFileSync (testFilePath).toString ();
+ },
- GetArrayBufferFileContent : function (folder, fileName)
- {
- var testFilePath = path.join ('testfiles', folder, fileName);
- var buffer = fs.readFileSync (testFilePath);
- var arrayBuffer = new ArrayBuffer (buffer.length);
- var uint8Array = new Uint8Array (arrayBuffer);
- var i;
- for (i = 0; i < buffer.length; ++i) {
- uint8Array[i] = buffer[i];
- }
- return arrayBuffer
- },
+ GetArrayBufferFileContent : function (folder, fileName)
+ {
+ var testFilePath = path.join ('testfiles', folder, fileName);
+ var buffer = fs.readFileSync (testFilePath);
+ var arrayBuffer = new ArrayBuffer (buffer.length);
+ var uint8Array = new Uint8Array (arrayBuffer);
+ var i;
+ for (i = 0; i < buffer.length; ++i) {
+ uint8Array[i] = buffer[i];
+ }
+ return arrayBuffer
+ },
- ModelToObject : function (model)
- {
- var obj = {
- name : model.GetName (),
- materials : [],
- meshes : []
- };
+ ModelToObject : function (model)
+ {
+ var obj = {
+ name : model.GetName (),
+ materials : [],
+ meshes : []
+ };
- var i, j;
+ var i, j;
- var material;
- for (i = 0; i < model.MaterialCount (); i++) {
- material = model.GetMaterial (i);
- obj.materials.push ({
- name : material.name
- });
- }
+ var material;
+ for (i = 0; i < model.MaterialCount (); i++) {
+ material = model.GetMaterial (i);
+ obj.materials.push ({
+ name : material.name
+ });
+ }
- var mesh, triangle, meshObj, triangleObj;
- for (i = 0; i < model.MeshCount (); i++) {
- mesh = model.GetMesh (i);
- meshObj = {
- name : mesh.GetName (),
- triangles : []
- };
- for (j = 0; j < mesh.TriangleCount (); j++) {
- triangle = mesh.GetTriangle (j);
- triangleObj = {
- mat : triangle.mat,
- vertices : [],
- normals : [],
- uvs : []
- };
- triangleObj.vertices.push (
- mesh.GetVertex (triangle.v0).x,
- mesh.GetVertex (triangle.v0).y,
- mesh.GetVertex (triangle.v0).z,
- mesh.GetVertex (triangle.v1).x,
- mesh.GetVertex (triangle.v1).y,
- mesh.GetVertex (triangle.v1).z,
- mesh.GetVertex (triangle.v2).x,
- mesh.GetVertex (triangle.v2).y,
- mesh.GetVertex (triangle.v2).z
- );
- triangleObj.normals.push (
- mesh.GetNormal (triangle.n0).x,
- mesh.GetNormal (triangle.n0).y,
- mesh.GetNormal (triangle.n0).z,
- mesh.GetNormal (triangle.n1).x,
- mesh.GetNormal (triangle.n1).y,
- mesh.GetNormal (triangle.n1).z,
- mesh.GetNormal (triangle.n2).x,
- mesh.GetNormal (triangle.n2).y,
- mesh.GetNormal (triangle.n2).z
- );
- if (triangle.HasTextureUVs ()) {
- triangleObj.uvs.push (
- mesh.GetTextureUV (triangle.u0).x,
- mesh.GetTextureUV (triangle.u0).y,
- mesh.GetTextureUV (triangle.u1).x,
- mesh.GetTextureUV (triangle.u1).y,
- mesh.GetTextureUV (triangle.u2).x,
- mesh.GetTextureUV (triangle.u2).y
- );
- }
- meshObj.triangles.push (triangleObj);
- }
- obj.meshes.push (meshObj);
- }
+ var mesh, triangle, meshObj, triangleObj;
+ for (i = 0; i < model.MeshCount (); i++) {
+ mesh = model.GetMesh (i);
+ meshObj = {
+ name : mesh.GetName (),
+ triangles : []
+ };
+ for (j = 0; j < mesh.TriangleCount (); j++) {
+ triangle = mesh.GetTriangle (j);
+ triangleObj = {
+ mat : triangle.mat,
+ vertices : [],
+ normals : [],
+ uvs : []
+ };
+ triangleObj.vertices.push (
+ mesh.GetVertex (triangle.v0).x,
+ mesh.GetVertex (triangle.v0).y,
+ mesh.GetVertex (triangle.v0).z,
+ mesh.GetVertex (triangle.v1).x,
+ mesh.GetVertex (triangle.v1).y,
+ mesh.GetVertex (triangle.v1).z,
+ mesh.GetVertex (triangle.v2).x,
+ mesh.GetVertex (triangle.v2).y,
+ mesh.GetVertex (triangle.v2).z
+ );
+ triangleObj.normals.push (
+ mesh.GetNormal (triangle.n0).x,
+ mesh.GetNormal (triangle.n0).y,
+ mesh.GetNormal (triangle.n0).z,
+ mesh.GetNormal (triangle.n1).x,
+ mesh.GetNormal (triangle.n1).y,
+ mesh.GetNormal (triangle.n1).z,
+ mesh.GetNormal (triangle.n2).x,
+ mesh.GetNormal (triangle.n2).y,
+ mesh.GetNormal (triangle.n2).z
+ );
+ if (triangle.HasTextureUVs ()) {
+ triangleObj.uvs.push (
+ mesh.GetTextureUV (triangle.u0).x,
+ mesh.GetTextureUV (triangle.u0).y,
+ mesh.GetTextureUV (triangle.u1).x,
+ mesh.GetTextureUV (triangle.u1).y,
+ mesh.GetTextureUV (triangle.u2).x,
+ mesh.GetTextureUV (triangle.u2).y
+ );
+ }
+ meshObj.triangles.push (triangleObj);
+ }
+ obj.meshes.push (meshObj);
+ }
- return obj;
- },
+ return obj;
+ },
- ModelToObjectSimple : function (model)
- {
- var obj = {
- name : model.GetName (),
- materials : [],
- meshes : []
- };
+ ModelToObjectSimple : function (model)
+ {
+ var obj = {
+ name : model.GetName (),
+ materials : [],
+ meshes : []
+ };
- var i;
+ var i;
- var material;
- for (i = 0; i < model.MaterialCount (); i++) {
- material = model.GetMaterial (i);
- obj.materials.push ({
- name : material.name
- });
- }
+ var material;
+ for (i = 0; i < model.MaterialCount (); i++) {
+ material = model.GetMaterial (i);
+ obj.materials.push ({
+ name : material.name
+ });
+ }
- var mesh, meshObj, boundingBox;
- for (i = 0; i < model.MeshCount (); i++) {
- mesh = model.GetMesh (i);
- boundingBox = OV.GetMeshBoundingBox (mesh);
- meshObj = {
- name : mesh.GetName (),
- vertexCount : mesh.VertexCount (),
- normalCount : mesh.NormalCount (),
- uvCount : mesh.TextureUVCount (),
- triangleCount : mesh.TriangleCount (),
- boundingBox : {
- min : [boundingBox[0].x, boundingBox[0].y, boundingBox[0].z],
- max : [boundingBox[1].x, boundingBox[1].y, boundingBox[1].z]
- }
- };
- obj.meshes.push (meshObj);
- }
+ var mesh, meshObj, boundingBox;
+ for (i = 0; i < model.MeshCount (); i++) {
+ mesh = model.GetMesh (i);
+ boundingBox = OV.GetMeshBoundingBox (mesh);
+ meshObj = {
+ name : mesh.GetName (),
+ vertexCount : mesh.VertexCount (),
+ normalCount : mesh.NormalCount (),
+ uvCount : mesh.TextureUVCount (),
+ triangleCount : mesh.TriangleCount (),
+ boundingBox : {
+ min : [boundingBox[0].x, boundingBox[0].y, boundingBox[0].z],
+ max : [boundingBox[1].x, boundingBox[1].y, boundingBox[1].z]
+ }
+ };
+ obj.meshes.push (meshObj);
+ }
- return obj;
- }
+ return obj;
+ }
}
diff --git a/website/o3dv/dialogs.js b/website/o3dv/dialogs.js
index f88b9d4..51970f4 100644
--- a/website/o3dv/dialogs.js
+++ b/website/o3dv/dialogs.js
@@ -273,7 +273,7 @@ OV.ShowExportDialog = function (model)
$('').addClass ('ov_dialog_file_link_icon').attr ('src', 'assets/images/dialog/file_download.svg').appendTo (fileLink);
$('