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" ] }