Use model filter from export dialog.
This commit is contained in:
parent
5eca9dade5
commit
4e7d10b3b7
@ -17,7 +17,7 @@ OV.Exporter = class
|
||||
this.exporters.push (exporter);
|
||||
}
|
||||
|
||||
Export (model, format, extension, callbacks)
|
||||
Export (exporterModel, format, extension, callbacks)
|
||||
{
|
||||
let exporter = null;
|
||||
for (let i = 0; i < this.exporters.length; i++) {
|
||||
@ -32,7 +32,7 @@ OV.Exporter = class
|
||||
return;
|
||||
}
|
||||
|
||||
exporter.Export (model, format, (files) => {
|
||||
exporter.Export (exporterModel, format, (files) => {
|
||||
if (files.length === 0) {
|
||||
callbacks.onError ();
|
||||
} else {
|
||||
|
||||
@ -51,10 +51,9 @@ OV.ExporterBase = class
|
||||
return false;
|
||||
}
|
||||
|
||||
Export (model, format, onFinish)
|
||||
Export (exporterModel, format, onFinish)
|
||||
{
|
||||
let files = [];
|
||||
let exporterModel = new OV.ExporterModel (model);
|
||||
this.ExportContent (exporterModel, format, files, () => {
|
||||
onFinish (files);
|
||||
});
|
||||
|
||||
@ -68,7 +68,7 @@ OV.ExporterModel = class
|
||||
});
|
||||
});
|
||||
let vertexOffset = 0;
|
||||
this.model.EnumerateMeshInstances ((meshInstance) => {
|
||||
this.EnumerateMeshInstances ((meshInstance) => {
|
||||
meshInstance.EnumerateTriangleVertexIndices ((v0, v1, v2) => {
|
||||
callbacks.onTriangle (v0 + vertexOffset, v1 + vertexOffset, v2 + vertexOffset);
|
||||
});
|
||||
|
||||
@ -65,7 +65,8 @@ function CreateTestModel ()
|
||||
function Export (model, format, extension, onReady)
|
||||
{
|
||||
let exporter = new OV.Exporter ();
|
||||
exporter.Export (model, format, extension, {
|
||||
let exporterModel = new OV.ExporterModel (model);
|
||||
exporter.Export (exporterModel, format, extension, {
|
||||
onSuccess : function (files) {
|
||||
onReady (files);
|
||||
}
|
||||
@ -108,7 +109,8 @@ describe ('Exporter', function () {
|
||||
it ('Exporter Error', function (done) {
|
||||
let model = CreateTestModel ();
|
||||
let exporter = new OV.Exporter ();
|
||||
exporter.Export (model, OV.FileFormat.Text, 'ext', {
|
||||
let exporterModel = new OV.ExporterModel (model);
|
||||
exporter.Export (exporterModel, OV.FileFormat.Text, 'ext', {
|
||||
onError : function () {
|
||||
done ();
|
||||
}
|
||||
|
||||
@ -109,7 +109,8 @@ function CreateTestModel ()
|
||||
function ExportImport (model, format, extension, onReady)
|
||||
{
|
||||
let exporter = new OV.Exporter ();
|
||||
exporter.Export (model, format, extension, {
|
||||
let exporterModel = new OV.ExporterModel (model);
|
||||
exporter.Export (exporterModel, format, extension, {
|
||||
onSuccess : function (exportedFiles) {
|
||||
let importer = new OV.Importer ();
|
||||
let settings = new OV.ImportSettings ();
|
||||
|
||||
@ -41,7 +41,7 @@ OV.ModelExporterUI = class extends OV.ExporterUI
|
||||
return OV.ExportType.Model;
|
||||
}
|
||||
|
||||
ExportModel (model, onDialog)
|
||||
ExportModel (model, callbacks)
|
||||
{
|
||||
let progressDialog = new OV.ProgressDialog ();
|
||||
progressDialog.Init ('Exporting Model');
|
||||
@ -49,7 +49,13 @@ OV.ModelExporterUI = class extends OV.ExporterUI
|
||||
|
||||
OV.RunTaskAsync (() => {
|
||||
let exporter = new OV.Exporter ();
|
||||
exporter.Export (model, this.format, this.extension, {
|
||||
let exporterModel = new OV.ExporterModel (model, {
|
||||
isMeshVisible : (meshInstanceId) => {
|
||||
// TODO return callbacks.isMeshVisible (meshInstanceId);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
exporter.Export (exporterModel, this.format, this.extension, {
|
||||
onError : () => {
|
||||
progressDialog.Hide ();
|
||||
},
|
||||
@ -63,7 +69,7 @@ OV.ModelExporterUI = class extends OV.ExporterUI
|
||||
} else if (files.length > 1) {
|
||||
progressDialog.Hide ();
|
||||
let filesDialog = this.ShowExportedFiles (files);
|
||||
onDialog (filesDialog);
|
||||
callbacks.onDialog (filesDialog);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -217,8 +223,13 @@ OV.ExportDialog = class
|
||||
ExportFormat (model, viewer)
|
||||
{
|
||||
if (this.selectedExporter.GetType () === OV.ExportType.Model) {
|
||||
this.selectedExporter.ExportModel (model, (filesDialog) => {
|
||||
this.callbacks.onDialog (filesDialog);
|
||||
this.selectedExporter.ExportModel (model, {
|
||||
isMeshVisible : (meshInstanceId) => {
|
||||
return this.callbacks.isMeshVisible (meshInstanceId);
|
||||
},
|
||||
onDialog : (filesDialog) => {
|
||||
this.callbacks.onDialog (filesDialog);
|
||||
}
|
||||
});
|
||||
} else if (this.selectedExporter.GetType () === OV.ExportType.Image) {
|
||||
this.selectedExporter.ExportImage (viewer);
|
||||
|
||||
@ -537,6 +537,9 @@ OV.Website = class
|
||||
AddSeparator (this.toolbar, ['only_full_width', 'only_on_model']);
|
||||
AddButton (this.toolbar, this.eventHandler, 'export', 'Export model', ['only_full_width', 'only_on_model'], () => {
|
||||
let exportDialog = new OV.ExportDialog ({
|
||||
isMeshVisible : (meshInstanceId) => {
|
||||
return this.navigator.IsMeshVisible (meshInstanceId);
|
||||
},
|
||||
onDialog : (dialog) => {
|
||||
this.dialog = dialog;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user