UNPKG

@thewtex/vtk.js-esm

Version:

Visualization Toolkit for the Web

43 lines (32 loc) 1.66 kB
import macro from '../../macro.js'; // vtkCompositeCameraManipulator methods // ---------------------------------------------------------------------------- function vtkCompositeCameraManipulator(publicAPI, model) { // Set our className model.classHierarchy.push('vtkCompositeCameraManipulator'); //------------------------------------------------------------------------- publicAPI.computeDisplayCenter = function (iObserver, renderer) { var pt = iObserver.computeWorldToDisplay(renderer, model.center[0], model.center[1], model.center[2]); model.displayCenter[0] = pt[0]; model.displayCenter[1] = pt[1]; }; } // ---------------------------------------------------------------------------- // Object factory // ---------------------------------------------------------------------------- var DEFAULT_VALUES = { center: [0, 0, 0], rotationFactor: 1, displayCenter: [0, 0] }; // ---------------------------------------------------------------------------- function extend(publicAPI, model) { var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; Object.assign(model, DEFAULT_VALUES, initialValues); // Create get-set macros macro.setGet(publicAPI, model, ['rotationFactor']); macro.setGetArray(publicAPI, model, ['displayCenter'], 2); macro.setGetArray(publicAPI, model, ['center'], 3); // Object specific methods vtkCompositeCameraManipulator(publicAPI, model); } // ---------------------------------------------------------------------------- var vtkCompositeCameraManipulator$1 = { extend: extend }; export default vtkCompositeCameraManipulator$1; export { extend };