UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

42 lines (41 loc) 1.32 kB
"use strict"; import { CADSopNode } from "./_BaseCAD"; import { exporterSopFileName } from "./_BaseExporter"; import { InputCloneMode } from "../../poly/InputCloneMode"; import { downloadBlob } from "../../../core/BlobUtils"; export class CADExporterSopNode extends CADSopNode { initializeNode() { this.io.inputs.setCount(1); this.io.inputs.initInputsClonedState(InputCloneMode.NEVER); } async cook(inputCoreGroups) { this.setCoreGroup(inputCoreGroups[0]); } static PARAM_CALLBACK_download(node) { node._paramCallbackDownload(); } async fileName() { return await exporterSopFileName(this.p.fileName, this.fileExtension()); } async _paramCallbackDownload() { const blob = await this.createBlob(); const fileName = await this.fileName(); downloadBlob(blob, fileName); } async _prepareScene() { const container = await this.compute(); const coreGroup = container.coreContent(); if (!coreGroup) { console.error("input invalid"); return; } const cadObjects = coreGroup.cadObjects(); if (!cadObjects) { return; } return { cadObjects }; } // protected async _handleResult(result: any, objects: Object3D[], resolve: (blob: Blob) => void) { // return await exporterSopHandleResult(result, objects, resolve); // } }