UNPKG

@acransac/vtk.js

Version:

Visualization Toolkit for the Web

50 lines (39 loc) 1.34 kB
import macro from 'vtk.js/Sources/macro'; // ---------------------------------------------------------------------------- function vtkManipulatorMixin(publicAPI, model) { publicAPI.updateManipulator = () => { if (model.manipulator) { const { origin, normal, direction } = model; const { setOrigin, setCenter, setNormal, setDirection, } = model.manipulator; if (origin && setOrigin) { setOrigin(origin); } else if (origin && setCenter) { setCenter(origin); } if (direction && setDirection) { setDirection(direction); } else if (direction && !normal && setNormal) { setNormal(direction); } else if (normal && setDirection) { setDirection(normal); } } }; } // ---------------------------------------------------------------------------- const DEFAULT_VALUES = { manipulator: null, }; // ---------------------------------------------------------------------------- export function extend(publicAPI, model, initialValues = {}) { Object.assign(model, DEFAULT_VALUES, initialValues); macro.setGet(publicAPI, model, ['manipulator']); vtkManipulatorMixin(publicAPI, model); } // ---------------------------------------------------------------------------- export default { extend };