2016-05-02 8 views
1

Die Autodesk Viewer kann einige Erweiterungen auf dem "neuen Autodesk.Vieweing.Viewer3D" -Konstruktor laden, aber was sind die verfügbaren Optionen? Der folgende Code kam from this tutorial.Integrierte Erweiterungen für Autodesk Viewer

function initialize() { 
    var options = { 
     'document' : 'urn:<<SOME URN HERE>>', 
     'env':'AutodeskProduction', 
     'getAccessToken': getToken, 
     'refreshToken': getToken, 
    }; 
    var viewerElement = document.getElementById('viewer'); 
    var viewer = new Autodesk.Viewing.Viewer3D(viewerElement, { /* Extensions here? */}); 
    Autodesk.Viewing.Initializer(
     options, 
     function() { 
     viewer.initialize(); 
     loadDocument(viewer, options.document); 
     } 
    ); 
} 

Antwort

2

Die einfache Antwort auf diese Frage zu Viewer Erweiterungen Laden ist ein Objekt wie dieses zu bieten:

{ 
    extensions: [ 
     'Autodesk.IoTTool', 'Autodesk.FirstPerson' 
    ] 
} 

und der Betrachter wird für Sie Viewer3D.loadExtension (Name, this.config) nennen während der Initialisierung. Der Name kann entweder Autodesk-Erweiterungen oder Ihre eigenen Erweiterungen sein, wie auf dieser example gezeigt. Sehen Sie sich die IoTTool-Erweiterung an, die lokal ist, im Gegensatz zur FirstPerson-Erweiterung, die vom Autodesk-Server kommt.

Dieses Konfigurationsobjekt kann jedoch viel mehr. Zum Beispiel:

{ 
    startOnInitialize: boolean, // (default true) the default behavior is to run the main loop immediately, unless startOnInitialize is provided and is to false. 

    canvasConfig: { // (default Viewer3D.kDefaultCanvasConfig) 
     disableSpinner: boolean, 
     disableMouseWheel: boolean, // (default false) the name tells it 
     disableTwoFingerSwipe: boolean, // (default false) 

     COMMAND: { 
      onObject: ACTIONS, 
      offObject: ACTIONS 
     }, 

     ... 

     // COMMAND: click, clickAlt, clickCtrl, clickShift, clickCtrlShift 
     // ACTIONS: selectOnly, selectToggle, deselectAll, isolate, showAll, setCOI, focus, hide 

    }, 

    extensions: [], // will call this.loadExtension(extensions[i], this.config) 

    onTriggerContextMenuCallback: <function callback>, // function (event) {} 
    onTriggerSelectionChangedCallback: <function callback>, // function (event) {dbid} 
    onTriggerDoubleTapCallback: <function callback>, // function (event) {} 
    onTriggerSingleTapCallback: <function callback>, // function (event) {} 

    viewableName: string, // the name appearing on the model dialog box 

    screenModeDelegate: <class>, // to control fullscreen behaviour 
} 

Die Viewer3D.kDefaultCanvasConfig Standardwerte sind:

Viewer3D.kDefaultCanvasConfig = { 
    "click": { 
     "onObject": ["selectOnly"], 
     "offObject": ["deselectAll"] 
    }, 
    "clickAlt": { 
     "onObject": ["setCOI"], 
     "offObject": ["setCOI"] 
    }, 
    "clickCtrl": { 
     "onObject": ["selectToggle"], 
     "offObject": ["deselectAll"] 
    }, 
    "clickShift": { 
     "onObject": ["selectToggle"], 
     "offObject": ["deselectAll"] 
    }, 

    // Features that support disabling 
    "disableSpinner": false, 
    "disableMouseWheel": false, 
    "disableTwoFingerSwipe": false 
} 
+0

Ich persönlich bevor Erweiterungen explizit einzeln zu laden, die bestimmte Optionen für jeden passieren lässt (falls erforderlich): Zuschauer. loadExtension ('MyCustomExtension', {enableAutoBugFix: true, enableKickAssFeatures: true}) ... –

Verwandte Themen