ModelHandle/source/export/exporteroff.js
2021-04-25 16:03:17 +02:00

35 lines
785 B
JavaScript

OV.ExporterOff = class extends OV.ExporterBase
{
constructor ()
{
super ();
}
CanExport (format, extension)
{
return format === OV.FileFormat.Text && extension === 'off';
}
ExportContent (model, format, files, onFinish)
{
let offFile = new OV.ExportedFile ('model.off');
files.push (offFile);
let offWriter = new OV.TextWriter ();
offWriter.WriteLine ('OFF');
offWriter.WriteArrayLine ([model.VertexCount (), model.TriangleCount (), 0]);
OV.EnumerateModelVerticesAndTriangles (model, {
onVertex : function (x, y, z) {
offWriter.WriteArrayLine ([x, y, z]);
},
onTriangle : function (v0, v1, v2) {
offWriter.WriteArrayLine ([3, v0, v1, v2]);
}
});
offFile.SetContent (offWriter.GetText ());
onFinish ();
}
};