From 1bc371109e5801df0202095d498b6bdffe755b23 Mon Sep 17 00:00:00 2001 From: Eason Kang Date: Thu, 9 Jul 2020 06:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#45787=20Fix=20fiel?= =?UTF-8?q?d=20defs=20for=20Document=20of=20=20forge-viewer=20by=20@yiskan?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/forge-viewer/forge-viewer-tests.ts | 36 ++++++++++++++++++++++++ types/forge-viewer/index.d.ts | 2 +- types/forge-viewer/tsconfig.json | 3 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 types/forge-viewer/forge-viewer-tests.ts diff --git a/types/forge-viewer/forge-viewer-tests.ts b/types/forge-viewer/forge-viewer-tests.ts new file mode 100644 index 0000000000..4cf1563a93 --- /dev/null +++ b/types/forge-viewer/forge-viewer-tests.ts @@ -0,0 +1,36 @@ +let viewer: Autodesk.Viewing.GuiViewer3D; +const options = { + env: 'AutodeskProduction', + api: 'derivativeV2', // for models uploaded to EMEA change this option to 'derivativeV2_EU' + accessToken: '' +}; + +Autodesk.Viewing.Initializer(options, () => { + const htmlDiv = document.getElementById('forgeViewer'); + if (!htmlDiv) + return; + + viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv); + const startedCode = viewer.start(); + if (startedCode > 0) { + console.error('Failed to create a Viewer: WebGL not supported.'); + return; + } + + const documentId = 'urn:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXktYnVja2V0L215LWF3ZXNvbWUtZm9yZ2UtZmlsZS5ydnQ'; + Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure); + + async function onDocumentLoadSuccess(doc: Autodesk.Viewing.Document) { + await doc.downloadAecModelData(); + + const docRoot: Autodesk.Viewing.BubbleNode = doc.getRoot(); + const aecModelData = await Autodesk.Viewing.Document.getAecModelData(docRoot); + const defaultModel = docRoot.getDefaultGeometry(); + + await viewer.loadDocumentNode(doc, defaultModel); + } + + function onDocumentLoadFailure() { + console.error('Failed fetching Forge manifest'); + } +}); diff --git a/types/forge-viewer/index.d.ts b/types/forge-viewer/index.d.ts index 78b0cd2976..7f5e98ecdc 100644 --- a/types/forge-viewer/index.d.ts +++ b/types/forge-viewer/index.d.ts @@ -386,7 +386,7 @@ declare namespace Autodesk { myData: any; downloadAecModelData(onFinished?: (data: any) => void): Promise; - getAecModelData(node: BubbleNode): any; + static getAecModelData(node: BubbleNode): any; getFullPath(urn: string): string; getItemById(id: string): object; getMessages(itemId: string, excludeGlobal: boolean): object; diff --git a/types/forge-viewer/tsconfig.json b/types/forge-viewer/tsconfig.json index 71e6b79545..255c9ea779 100644 --- a/types/forge-viewer/tsconfig.json +++ b/types/forge-viewer/tsconfig.json @@ -18,6 +18,7 @@ "forceConsistentCasingInFileNames": true }, "files": [ - "index.d.ts" + "index.d.ts", + "forge-viewer-tests.ts" ] }