@thewtex/vtk.js-esm
Version:
Visualization Toolkit for the Web
43 lines (32 loc) • 1.66 kB
JavaScript
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 };