Created
April 22, 2016 09:37
-
-
Save leefsmp/a91ac8a14ee33a5a3ddf64e85824c794 to your computer and use it in GitHub Desktop.
Markup3D Viewer Extension for View & Data API (partial sample)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///////////////////////////////////////////////////////////////////// | |
// Viewing.Extension.Markup3D | |
// by Philippe Leefsma, April 2016 | |
// | |
///////////////////////////////////////////////////////////////////// | |
import Snap from 'imports-loader?this=>window,fix=>module.exports=0!snapsvg/dist/snap.svg.js'; | |
import Markup3DTool from './Viewing.Extension.Markup3D.Tool' | |
import ExtensionBase from 'ExtensionBase' | |
class Markup3DExtension extends ExtensionBase { | |
///////////////////////////////////////////////////////////////// | |
// Class constructor | |
// | |
///////////////////////////////////////////////////////////////// | |
constructor(viewer, options) { | |
super(viewer, options); | |
this.markup3DTool = new Markup3DTool(viewer); | |
this._viewer.toolController.registerTool( | |
this.markup3DTool); | |
} | |
///////////////////////////////////////////////////////////////// | |
// Extension Id | |
// | |
///////////////////////////////////////////////////////////////// | |
static get ExtensionId() { | |
return 'Viewing.Extension.Markup3D'; | |
} | |
///////////////////////////////////////////////////////////////// | |
// Load callback | |
// | |
///////////////////////////////////////////////////////////////// | |
load() { | |
this._viewer.toolController.activateTool( | |
this.markup3DTool.getName()); | |
console.log('Viewing.Extension.Markup3D loaded'); | |
return true; | |
} | |
///////////////////////////////////////////////////////////////// | |
// Unload callback | |
// | |
///////////////////////////////////////////////////////////////// | |
unload() { | |
this._viewer.toolController.deactivateTool( | |
this.markup3DTool.getName()); | |
console.log('Viewing.Extension.Markup3D unloaded'); | |
} | |
///////////////////////////////////////////////////////////////// | |
// | |
// Allow extensions to inject their state data | |
// | |
// for (var extensionName in viewer.loadedExtensions) { | |
// viewer.loadedExtensions[extensionName].getState( | |
// viewerState); | |
// } | |
///////////////////////////////////////////////////////////////// | |
getState(viewerState) { | |
this.markup3DTool.getState( | |
viewerState); | |
} | |
///////////////////////////////////////////////////////////////// | |
// | |
// Allow extensions to restore their data | |
// | |
// for (var extensionName in viewer.loadedExtensions) { | |
// viewer.loadedExtensions[extensionName].restoreState( | |
// viewerState, immediate); | |
// } | |
///////////////////////////////////////////////////////////////// | |
restoreState(viewerState, immediate) { | |
this.markup3DTool.restoreState( | |
viewerState, immediate); | |
} | |
} | |
Autodesk.Viewing.theExtensionManager.registerExtension( | |
Markup3DExtension.ExtensionId, | |
Markup3DExtension); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment