Remove importers from file list object.

This commit is contained in:
kovacsv 2021-09-01 10:27:17 +02:00
parent 4c5b522fa4
commit 46a8d580f4

View File

@ -25,10 +25,9 @@ OV.File = class
OV.FileList = class
{
constructor (importers)
constructor ()
{
this.files = [];
this.importers = importers;
}
FillFromFileUrls (fileList)
@ -84,26 +83,6 @@ OV.FileList = class
return null;
}
HasMainFile ()
{
return this.GetMainFile () !== null;
}
GetMainFile ()
{
for (let fileIndex = 0; fileIndex < this.files.length; fileIndex++) {
let file = this.files[fileIndex];
let importer = this.FindImporter (file);
if (importer !== null) {
return {
file : file,
importer : importer
};
}
}
return null;
}
IsOnlySource (source)
{
if (this.files.length === 0) {
@ -155,17 +134,6 @@ OV.FileList = class
complete ();
});
}
FindImporter (file)
{
for (let importerIndex = 0; importerIndex < this.importers.length; importerIndex++) {
let importer = this.importers[importerIndex];
if (importer.CanImportExtension (file.extension)) {
return importer;
}
}
return null;
}
};
OV.ImportSettings = class
@ -259,7 +227,7 @@ OV.Importer = class
new OV.Importer3dm (),
new OV.ImporterIfc ()
];
this.fileList = new OV.FileList (this.importers);
this.fileList = new OV.FileList ();
this.model = null;
this.usedFiles = [];
this.missingFiles = [];
@ -282,7 +250,7 @@ OV.Importer = class
Import (settings, callbacks)
{
let mainFile = this.fileList.GetMainFile ();
let mainFile = this.GetMainFile (this.fileList);
if (mainFile === null || mainFile.file === null || mainFile.file.content === null) {
callbacks.onError (new OV.ImportError (OV.ImportErrorCode.NoImportableFile, null));
return;
@ -351,7 +319,7 @@ OV.Importer = class
newFileList.FillFromFileObjects (fileList);
}
let reset = false;
if (newFileList.HasMainFile ()) {
if (this.HasMainFile (newFileList)) {
reset = true;
} else {
let foundMissingFile = false;
@ -387,6 +355,38 @@ OV.Importer = class
return this.fileList.IsOnlySource (source);
}
HasMainFile (fileList)
{
return this.GetMainFile (fileList) !== null;
}
GetMainFile (fileList)
{
let files = fileList.GetFiles ();
for (let fileIndex = 0; fileIndex < files.length; fileIndex++) {
let file = files[fileIndex];
let importer = this.FindImporter (file);
if (importer !== null) {
return {
file : file,
importer : importer
};
}
}
return null;
}
FindImporter (file)
{
for (let importerIndex = 0; importerIndex < this.importers.length; importerIndex++) {
let importer = this.importers[importerIndex];
if (importer.CanImportExtension (file.extension)) {
return importer;
}
}
return null;
}
RevokeModelUrls ()
{
if (this.model === null) {