@thewtex/vtk.js-esm
Version:
Visualization Toolkit for the Web
42 lines (33 loc) • 2.29 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import macro from '../../../macro.js';
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function widgetBehavior(publicAPI, model) {
model.classHierarchy.push('vtkInteractiveOrientationWidgetProp');
macro.event(publicAPI, model, 'OrientationChange'); // --------------------------------------------------------------------------
// Right click: Delete handle
// --------------------------------------------------------------------------
publicAPI.handleRightButtonPress = function (e) {
if (!model.activeState || !model.activeState.getActive() || !model.pickable) {
return macro.VOID;
}
publicAPI.invokeOrientationChange(_objectSpread({
action: 'rightPress',
event: e
}, model.activeState.get('up', 'right', 'direction')));
return macro.EVENT_ABORT;
}; // --------------------------------------------------------------------------
// Left press: Select handle to drag
// --------------------------------------------------------------------------
publicAPI.handleLeftButtonPress = function (e) {
if (!model.activeState || !model.activeState.getActive() || !model.pickable) {
return macro.VOID;
}
publicAPI.invokeOrientationChange(_objectSpread({
action: 'leftPress',
event: e
}, model.activeState.get('up', 'right', 'direction')));
return macro.EVENT_ABORT;
};
}
export default widgetBehavior;