Add o3dv file format for testing purposes.
This commit is contained in:
parent
93b084f20a
commit
a3d283f613
@ -44,6 +44,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
@ -45,6 +45,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
@ -44,6 +44,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
@ -44,6 +44,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
@ -265,7 +265,8 @@ OV.Importer = class
|
|||||||
new OV.ImporterOff (),
|
new OV.ImporterOff (),
|
||||||
new OV.ImporterPly (),
|
new OV.ImporterPly (),
|
||||||
new OV.Importer3ds (),
|
new OV.Importer3ds (),
|
||||||
new OV.ImporterGltf ()
|
new OV.ImporterGltf (),
|
||||||
|
new OV.ImporterO3dv ()
|
||||||
];
|
];
|
||||||
this.fileList = new OV.FileList (this.importers);
|
this.fileList = new OV.FileList (this.importers);
|
||||||
this.model = null;
|
this.model = null;
|
||||||
|
|||||||
104
source/import/importero3dv.js
Normal file
104
source/import/importero3dv.js
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
OV.ImporterO3dv = class extends OV.ImporterBase
|
||||||
|
{
|
||||||
|
constructor ()
|
||||||
|
{
|
||||||
|
super ();
|
||||||
|
}
|
||||||
|
|
||||||
|
CanImportExtension (extension)
|
||||||
|
{
|
||||||
|
return extension === 'o3dv';
|
||||||
|
}
|
||||||
|
|
||||||
|
GetKnownFileFormats ()
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
'o3dv' : OV.FileFormat.Text
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
GetUpDirection ()
|
||||||
|
{
|
||||||
|
return OV.Direction.Z;
|
||||||
|
}
|
||||||
|
|
||||||
|
ClearContent ()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ResetContent ()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ImportContent (fileContent, onFinish)
|
||||||
|
{
|
||||||
|
let content = JSON.parse (fileContent);
|
||||||
|
if (content.materials !== undefined) {
|
||||||
|
for (let i = 0; i < content.materials.length; i++) {
|
||||||
|
const materialContent = content.materials[i];
|
||||||
|
this.ImportMaterial (materialContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (content.meshes !== undefined) {
|
||||||
|
for (let i = 0; i < content.meshes.length; i++) {
|
||||||
|
const meshContent = content.meshes[i];
|
||||||
|
this.ImportMesh (meshContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onFinish ();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImportMaterial (materialContent)
|
||||||
|
{
|
||||||
|
let material = new OV.Material ();
|
||||||
|
material.diffuse.Set (255, 255, 255);
|
||||||
|
if (materialContent.name !== undefined) {
|
||||||
|
material.name = materialContent.name;
|
||||||
|
}
|
||||||
|
if (materialContent.diffuse !== undefined) {
|
||||||
|
material.diffuse = OV.ArrayToColor (materialContent.diffuse);
|
||||||
|
}
|
||||||
|
this.model.AddMaterial (material);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImportMesh (meshContent)
|
||||||
|
{
|
||||||
|
let genParams = new OV.GeneratorParams ();
|
||||||
|
if (meshContent.name !== undefined) {
|
||||||
|
genParams.SetName (meshContent.name);
|
||||||
|
}
|
||||||
|
if (meshContent.material !== undefined) {
|
||||||
|
genParams.SetMaterial (meshContent.material);
|
||||||
|
}
|
||||||
|
if (meshContent.transformation !== undefined) {
|
||||||
|
let translation = new OV.Coord3D (0.0, 0.0, 0.0);
|
||||||
|
let rotation = new OV.Quaternion (0.0, 0.0, 0.0, 1.0);
|
||||||
|
let scale = new OV.Coord3D (1.0, 1.0, 1.0);
|
||||||
|
if (meshContent.transformation.translation !== undefined) {
|
||||||
|
translation = OV.ArrayToCoord3D (meshContent.transformation.translation);
|
||||||
|
}
|
||||||
|
if (meshContent.transformation.rotation !== undefined) {
|
||||||
|
rotation = OV.ArrayToQuaternion (meshContent.transformation.rotation);
|
||||||
|
}
|
||||||
|
if (meshContent.transformation.scale !== undefined) {
|
||||||
|
scale = OV.ArrayToCoord3D (meshContent.transformation.scale);
|
||||||
|
}
|
||||||
|
genParams.SetTransformation (translation, rotation, scale);
|
||||||
|
}
|
||||||
|
|
||||||
|
let parameters = meshContent.parameters;
|
||||||
|
if (parameters === undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (meshContent.type === 'cuboid') {
|
||||||
|
if (parameters.size_x === undefined || parameters.size_y === undefined || parameters.size_z === undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const mesh = OV.GenerateCuboid (genParams, parameters.size_x, parameters.size_y, parameters.size_z);
|
||||||
|
this.model.AddMesh (mesh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -24,7 +24,6 @@ OV.ImporterOff = class extends OV.ImporterBase
|
|||||||
|
|
||||||
ClearContent ()
|
ClearContent ()
|
||||||
{
|
{
|
||||||
this.model = null;
|
|
||||||
this.mesh = null;
|
this.mesh = null;
|
||||||
this.status = null;
|
this.status = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,7 +110,6 @@ OV.ImporterPly = class extends OV.ImporterBase
|
|||||||
|
|
||||||
ClearContent ()
|
ClearContent ()
|
||||||
{
|
{
|
||||||
this.model = null;
|
|
||||||
this.mesh = null;
|
this.mesh = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,10 +2,17 @@ OV.GeneratorParams = class
|
|||||||
{
|
{
|
||||||
constructor ()
|
constructor ()
|
||||||
{
|
{
|
||||||
|
this.name = null;
|
||||||
this.material = null;
|
this.material = null;
|
||||||
this.transformation = null;
|
this.transformation = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetName (name)
|
||||||
|
{
|
||||||
|
this.name = name;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
SetMaterial (material)
|
SetMaterial (material)
|
||||||
{
|
{
|
||||||
this.material = material;
|
this.material = material;
|
||||||
@ -31,6 +38,9 @@ OV.Generator = class
|
|||||||
{
|
{
|
||||||
this.params = params || new OV.GeneratorParams ();
|
this.params = params || new OV.GeneratorParams ();
|
||||||
this.mesh = new OV.Mesh ();
|
this.mesh = new OV.Mesh ();
|
||||||
|
if (this.params.name !== null) {
|
||||||
|
this.mesh.SetName (this.params.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GetMesh ()
|
GetMesh ()
|
||||||
|
|||||||
@ -195,3 +195,8 @@ OV.ColorIsEqual = function (a, b)
|
|||||||
{
|
{
|
||||||
return a.r === b.r && a.g === b.g && a.b === b.b;
|
return a.r === b.r && a.g === b.g && a.b === b.b;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
OV.ArrayToColor = function (arr)
|
||||||
|
{
|
||||||
|
return new OV.Color (arr[0], arr[1], arr[2]);
|
||||||
|
};
|
||||||
|
|||||||
12
test/testfiles/o3dv/cube.o3dv
Normal file
12
test/testfiles/o3dv/cube.o3dv
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"meshes" : [
|
||||||
|
{
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
74
test/testfiles/o3dv/cube_transformation.o3dv
Normal file
74
test/testfiles/o3dv/cube_transformation.o3dv
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
{
|
||||||
|
"materials" : [
|
||||||
|
{
|
||||||
|
"name" : "Material 1",
|
||||||
|
"diffuse" : [200, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Material 2",
|
||||||
|
"diffuse" : [0, 200, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Material 3",
|
||||||
|
"diffuse" : [0, 0, 200]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Material 4",
|
||||||
|
"diffuse" : [200, 200, 0]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meshes" : [
|
||||||
|
{
|
||||||
|
"name" : "Cube",
|
||||||
|
"material" : 0,
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Cube T",
|
||||||
|
"material" : 1,
|
||||||
|
"transformation" : {
|
||||||
|
"translation" : [2.0, 0.0, 0.0]
|
||||||
|
},
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Cube TR",
|
||||||
|
"material" : 2,
|
||||||
|
"transformation" : {
|
||||||
|
"translation" : [4.0, 0.0, 0.0],
|
||||||
|
"rotation" : [0.0, 0.0, 0.3826834323650898, 0.9238795325112867]
|
||||||
|
},
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Cube TRS",
|
||||||
|
"material" : 3,
|
||||||
|
"transformation" : {
|
||||||
|
"translation" : [6.0, 0.0, 0.0],
|
||||||
|
"rotation" : [0.0, 0.0, 0.3826834323650898, 0.9238795325112867],
|
||||||
|
"scale" : [1.5, 2.0, 2.5]
|
||||||
|
},
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
20
test/testfiles/o3dv/cube_with_material.o3dv
Normal file
20
test/testfiles/o3dv/cube_with_material.o3dv
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"materials" : [
|
||||||
|
{
|
||||||
|
"name" : "Material",
|
||||||
|
"diffuse" : [200, 0, 0]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meshes" : [
|
||||||
|
{
|
||||||
|
"name" : "Cube",
|
||||||
|
"material" : 0,
|
||||||
|
"type" : "cuboid",
|
||||||
|
"parameters" : {
|
||||||
|
"size_x" : 1.0,
|
||||||
|
"size_y" : 1.0,
|
||||||
|
"size_z" : 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
119
test/tests/importero3dv_test.js
Normal file
119
test/tests/importero3dv_test.js
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
var assert = require ('assert');
|
||||||
|
var testFiles = require ('../utils/testfiles.js');
|
||||||
|
var testUtils = require ('../utils/testutils.js');
|
||||||
|
|
||||||
|
describe ('O3dv Importer', function () {
|
||||||
|
it ('cube.o3dv', function (done) {
|
||||||
|
testFiles.ImportO3dvFile ('cube.o3dv', function (model) {
|
||||||
|
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]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
done ();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it ('cube_with_material.o3dv', function (done) {
|
||||||
|
testFiles.ImportO3dvFile ('cube_with_material.o3dv', function (model) {
|
||||||
|
assert (OV.CheckModel (model));
|
||||||
|
assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
|
||||||
|
name : '',
|
||||||
|
materials : [
|
||||||
|
{ name : 'Material' }
|
||||||
|
],
|
||||||
|
meshes : [
|
||||||
|
{
|
||||||
|
name : 'Cube',
|
||||||
|
vertexCount : 8,
|
||||||
|
normalCount : 12,
|
||||||
|
uvCount : 0,
|
||||||
|
triangleCount : 12,
|
||||||
|
boundingBox : {
|
||||||
|
min : [0, 0, 0],
|
||||||
|
max : [1, 1, 1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
done ();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it ('cube_transformation.o3dv', function (done) {
|
||||||
|
testFiles.ImportO3dvFile ('cube_transformation.o3dv', function (model) {
|
||||||
|
assert (OV.CheckModel (model));
|
||||||
|
assert.deepStrictEqual (testUtils.ModelToObjectSimple (model), {
|
||||||
|
name : '',
|
||||||
|
materials : [
|
||||||
|
{ name : 'Material 1' },
|
||||||
|
{ name : 'Material 2' },
|
||||||
|
{ name : 'Material 3' },
|
||||||
|
{ name : 'Material 4' }
|
||||||
|
],
|
||||||
|
meshes : [
|
||||||
|
{
|
||||||
|
name : 'Cube',
|
||||||
|
vertexCount : 8,
|
||||||
|
normalCount : 12,
|
||||||
|
uvCount : 0,
|
||||||
|
triangleCount : 12,
|
||||||
|
boundingBox : {
|
||||||
|
min : [0, 0, 0],
|
||||||
|
max : [1, 1, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name : 'Cube T',
|
||||||
|
vertexCount : 8,
|
||||||
|
normalCount : 12,
|
||||||
|
uvCount : 0,
|
||||||
|
triangleCount : 12,
|
||||||
|
boundingBox : {
|
||||||
|
min : [2, 0, 0],
|
||||||
|
max : [3, 1, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name : 'Cube TR',
|
||||||
|
vertexCount : 8,
|
||||||
|
normalCount : 12,
|
||||||
|
uvCount : 0,
|
||||||
|
triangleCount : 12,
|
||||||
|
boundingBox : {
|
||||||
|
min : [3.2928932188134525, 0, 0],
|
||||||
|
max : [4.707106781186548, 1.414213562373095, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name : 'Cube TRS',
|
||||||
|
vertexCount : 8,
|
||||||
|
normalCount : 12,
|
||||||
|
uvCount : 0,
|
||||||
|
triangleCount : 12,
|
||||||
|
boundingBox : {
|
||||||
|
min : [4.585786437626905, 0, 0],
|
||||||
|
max : [7.060660171779821, 2.4748737341529163, 2.5]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
done ();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -43,6 +43,12 @@ module.exports =
|
|||||||
this.ImportFile (importer, format, 'gltf/' + folderName, fileName, onReady);
|
this.ImportFile (importer, format, 'gltf/' + folderName, fileName, onReady);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
ImportO3dvFile : function (fileName, onReady)
|
||||||
|
{
|
||||||
|
var importer = new OV.ImporterO3dv ();
|
||||||
|
this.ImportFile (importer, OV.FileFormat.Text, 'o3dv', fileName, onReady);
|
||||||
|
},
|
||||||
|
|
||||||
ImportFile : function (importer, format, folder, fileName, onReady)
|
ImportFile : function (importer, format, folder, fileName, onReady)
|
||||||
{
|
{
|
||||||
var content = null;
|
var content = null;
|
||||||
|
|||||||
@ -40,6 +40,7 @@
|
|||||||
"source/import/importerply.js",
|
"source/import/importerply.js",
|
||||||
"source/import/importer3ds.js",
|
"source/import/importer3ds.js",
|
||||||
"source/import/importergltf.js",
|
"source/import/importergltf.js",
|
||||||
|
"source/import/importero3dv.js",
|
||||||
"source/import/importer.js",
|
"source/import/importer.js",
|
||||||
"source/export/exporterbase.js",
|
"source/export/exporterbase.js",
|
||||||
"source/export/exporterobj.js",
|
"source/export/exporterobj.js",
|
||||||
|
|||||||
@ -53,6 +53,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
@ -53,6 +53,7 @@
|
|||||||
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
<script type="text/javascript" src="../source/import/importerply.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
<script type="text/javascript" src="../source/import/importer3ds.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
<script type="text/javascript" src="../source/import/importergltf.js"></script>
|
||||||
|
<script type="text/javascript" src="../source/import/importero3dv.js"></script>
|
||||||
<script type="text/javascript" src="../source/import/importer.js"></script>
|
<script type="text/javascript" src="../source/import/importer.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
<script type="text/javascript" src="../source/export/exporterbase.js"></script>
|
||||||
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
<script type="text/javascript" src="../source/export/exporterobj.js"></script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user