ohif-viewer/Packages/ohif-lesiontracker/client/compatibility/bidirectionalTool/tool.js
2017-12-28 08:59:25 -02:00

48 lines
1.6 KiB
JavaScript

import { Viewerbase } from 'meteor/ohif:viewerbase';
import { cornerstoneTools } from 'meteor/ohif:cornerstone';
import { toolType } from './definitions';
import createNewMeasurement from './createNewMeasurement';
import addNewMeasurement from './addNewMeasurement';
import addNewMeasurementTouch from './addNewMeasurementTouch';
import onImageRendered from './onImageRendered';
import pointNearTool from './pointNearTool';
import mouseDownCallback from './mouseDownCallback';
import mouseMoveCallback from './mouseMoveCallback';
function createToolInterface() {
const toolInterface = { toolType };
const baseInterface = {
createNewMeasurement,
onImageRendered,
pointNearTool,
toolType
};
toolInterface.mouse = cornerstoneTools.mouseButtonTool(Object.assign({
addNewMeasurement,
mouseDownCallback,
mouseMoveCallback
}, baseInterface));
toolInterface.touch = cornerstoneTools.touchTool(Object.assign({
addNewMeasurement: addNewMeasurementTouch
}, baseInterface));
return toolInterface;
}
const toolInterface = createToolInterface();
cornerstoneTools[toolType] = toolInterface.mouse;
cornerstoneTools[toolType + 'Touch'] = toolInterface.touch;
// Define an empty location callback
const emptyLocationCallback = (measurementData, eventData, doneCallback) => doneCallback();
const { shadowConfig, textBoxConfig } = Viewerbase.toolManager.getToolDefaultStates();
cornerstoneTools[toolType].setConfiguration({
getMeasurementLocationCallback: emptyLocationCallback,
changeMeasurementLocationCallback: emptyLocationCallback,
textBox: textBoxConfig,
shadow: shadowConfig
});